	var b = 0 ;
	var i = 0 ;
	var errmsg = "" ;
	var punct = "" ;
	var min = 0 ;
	var max = 0 ;

	/*---------------------------------
	VlidateEmail
	-----------------------------------*/
	function VlidateEmail(field) {

		if (b && (field.value.length == 0)) return true ;

		if (! emailCheck(field.value))
		  {
			  field.focus();
			  if (field.type == "text") field.select();
			  return false ;
		  }

	   return true ;
	}

	/*---------------------------------
	emailCheck
	-----------------------------------*/
	function emailCheck (emailStr) {

		var checkTLD=1;
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|ws)$/;
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=emailStr.match(emailPat);

		if (matchArray==null) {
			alert(errmsg);
			return false;
		}

		var user=matchArray[1];
		var domain=matchArray[2];

		for (i=0; i<user.length; i++) {
			if (user.charCodeAt(i)>127) {
				alert(errmsg);
				return false;
			}
		}

		for (i=0; i<domain.length; i++) {
			if (domain.charCodeAt(i)>127) {
				alert(errmsg);
				return false;
			}
		}

		if (user.match(userPat)==null) {
			alert(errmsg);
			return false;
		}

		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;

		for (i=0;i<len;i++) {
			if (domArr[i].search(atomPat)==-1) {
				alert(errmsg);
				return false;
			}
		}

		if (checkTLD && domArr[domArr.length-1].length!=2 &&
		domArr[domArr.length-1].search(knownDomsPat)==-1) {
			alert(errmsg);
			return false;
		}

		if (len<2) {
			alert(errmsg);
			return false;
		}

		return true;
	}


	/*---------------------------------
	ConfirmPassword
	-----------------------------------*/
	function ConfirmPassword()	{
		if((document.frmLogin.txtRegPassword.value) != (document.frmLogin.txtRegConfirmPassword.value))
			{
			alert('Passwords are not same!! Please enter the correct passwords and try again.');
			document.frmLogin.txtRegPassword.value = ""
			document.frmLogin.txtRegConfirmPassword.value = ""
			document.frmLogin.txtRegPassword.focus();
			return false;
			}
		else
			{
			return true;
			}
	}


	/*---------------------------------
	IsNumeric
	-----------------------------------*/
	function IsNumeric(strString)
	   {
	   var strValidChars = "0123456789.-";
	   var strChar;
	   var blnResult = true;

	   if (strString.length == 0) return false;

	   for (i = 0; i < strString.length && blnResult == true; i++)
	      {
	      strChar = strString.charAt(i);
	      if (strValidChars.indexOf(strChar) == -1)
		 {
		 blnResult = false;
		 }
	      }
	   return blnResult;
	   }

	/*---------------------------------
	checknumeric
	-----------------------------------*/
	function checknumeric(strString)
	{
		if (strString.value.length == 0) 
			{
			alert("A mandatory field has not been filled. Please enter an appropriate value.");
			strString.focus();
			return false;
			} 
		else if (IsNumeric(strString.value) == false) 
			{
				alert("This field only accepts numeric values.");
				strString.focus();
				return false;
			}
		return true;
	}


	/*---------------------------------
	ValidatePhoneNumber
	-----------------------------------*/
	function ValidatePhoneNumber()	{

		if ((checknumeric(document.frmLogin.txtPhoneHome))==false) 
			return false;
		else {
			if ((document.frmLogin.txtPhoneHome.value.length)<= 10 ) 
				{
				 alert('Phone number does not appear to be correct');
				 document.frmLogin.txtPhoneHome.focus();
				 return false;
				}
			else {
				if ((document.frmLogin.txtPhoneMobile.value.length)!=0 )
					{
					if ((checknumeric(document.frmLogin.txtPhoneMobile))==false) 
						return false;
					else {
						if ((document.frmLogin.txtPhoneMobile.value.length)<= 10 ) 
							{
							 alert('Phone number does not appear to be correct');
							 document.frmLogin.txtPhoneMobile.focus();
							 return false;
							}
						else {
							return true;
							 }
						 }
					}
				else {
					return true;
					}
				 }
			}
	}

	/*---------------------------------
	checkEmail
	-----------------------------------*/
	function checkEmail(l_str_form)	{
		b=0;
		errmsg="Please enter a valid email address.";
		
		var str1=l_str_form;
		var str2=trim(str1.value);

		if (! VlidateEmail(str1) )
			{
			return false ;
			}
		else
			{
			return true;
			}
	}

	/*---------------------------------
	trim
	-----------------------------------*/
	function trim(l_str)
	{
		var l_str_string = new String(l_str); 
		var l_int_length = l_str_string . length; 
		var l_str_temp = new String(''); 
		var l_b_flag = true; 

		for(l_int_i = 0; l_int_i <= l_int_length - 1; ++l_int_i) 
			{
			if (l_b_flag == true && l_str_string.charAt(l_int_i) == ' ') 
				{
				l_b_flag = true;
				} 
			else
				{
				l_b_flag = false;
				l_str_temp = l_str_string.substring(l_int_i);
				break;
				} 
			
			if (l_int_i == l_int_length - 1) 
				{
				return l_str_temp;
				} 
			} 

		l_int_length = l_str_temp.length;
		l_b_flag = true;

		for(l_int_i = l_int_length - 1; l_int_i >= 0; l_int_i--) 
			{
			if (l_b_flag == true && l_str_temp.charAt(l_int_i) == ' ') 
				{
				l_b_flag = true;
				}
			else
				{
				l_b_flag = false;
				l_str_string = l_str_temp.substring(0, l_int_i + 1);
				break;
				} 
			} 
			
		return l_str_string;
	} 

	/*---------------------------------
	checktxt
	-----------------------------------*/
	function checktxt(l_str_form)	{
		var str1=l_str_form;
		var str2=trim(str1.value);

		if(str2.length==0)
			{
			alert("A mandatory field has not been filled. Please enter an appropriate value.");
			l_str_form.focus();
			return false;
			}
		else
			{
			return true;
			}
	}

	/*---------------------------------
	checktxa
	-----------------------------------*/
	function checktxa(l_str_area,l_int_length)
	{
	var str1=l_str_area;
	var str2=trim(l_str_area.value);
	if(str2.length==0)
		{
		alert("A mandatory field has not been filled. Please enter an appropriate value.");
		l_str_area.focus();
		return false;
		}
		if(str2.length >l_int_length)
			{
			alert("Maximum characters allowed is "+l_int_length);
			l_str_area.focus();
			return false;
			}
		else
			{
			return true;
			}
	}
