function Trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function hasValidChars(in_str)
{
    lis = in_str.toLowerCase();
    validChars="abcdefghijklmnopqrstuvwxyz0123456789";
	for(i=0; i< lis.length; i++) {
		myChar=lis.substring(i,i+1);
		if (validChars.indexOf(myChar)< 0) {
			return false;
		}
	}
    return true;
}

function isUserName(user){
	val=user.substring(0,1);
	if ("0123456789".indexOf(val)>0)
		return false;	
	return hasValidChars(user);
}

function ValidateEmail( email, invalidMessage )
{
	var index = email.indexOf( "@" ) ;
	if( index <= 0 )
	{
		alert( invalidMessage );
		return false ;
	}
	if( index != email.lastIndexOf( "@" ) )
	{
		alert( invalidMessage );
		return false ;
	}
	if( email.indexOf( "." ) == -1 )
	{
		alert( invalidMessage );
		return false ;
	}
	return true ;
}
function ValidatePhone (phone, allowNull){
    // Checking to see how many numbers we have 
	var val=Trim(phone.value);
	if (val.length>20) {
		alert("Max. Length Cannot Exceed 20") ;
		phone.focus();
		return false;
		}
	if (allowNull=="true" && val=="")
		return true;		
    var trimmedStr = "";
    for (var i=0; i < val.length; i++) {
        if ((val.charAt(i) == '0') || (val.charAt(i) == '1') ||
            (val.charAt(i) == '2') || (val.charAt(i) == '3') ||
            (val.charAt(i) == '4') || (val.charAt(i) == '5') ||
            (val.charAt(i) == '6') || (val.charAt(i) == '7') ||
            (val.charAt(i) == '8') || (val.charAt(i) == '9')) {
            trimmedStr = trimmedStr.concat(val.charAt(i)) 
        }
    }
    if (trimmedStr.length < 10) {
    	phone.focus();
        alert("Phone/Fax needs to be 10 digits long");
        return false;
    }
    phone.value=trimmedStr;
	return true;
}

function fnValidate()
{
   document.frmMember.txtUserName.value=Trim(document.frmMember.txtUserName.value);
   if(document.frmMember.txtUserName.value.length < 4)
   {
		alert("User Name must be at least 4 characters long") ;
		document.frmMember.txtUserName.focus() ;
		return false ;
   }
	else if(document.frmMember.txtUserName.value.length > 20 )
   {
		alert("Max. Length Cannot Exceed 20") ;
		document.frmMember.txtUserName.focus() ;
		return false ;
   }
 
	//Validate User Name.
	if( !isUserName(document.frmMember.txtUserName.value) )
	{
		alert("Please enter a valid UserName only letters (a-z), (A-Z) and numbers (0-9) without any space in between. UserName must start with a letter. ");
		document.frmMember.txtUserName.focus();
		return (false);
	}
   document.frmMember.txtPassword.value=Trim(document.frmMember.txtPassword.value);
   document.frmMember.txtConfirmPassword.value=Trim(document.frmMember.txtConfirmPassword.value);
   if(document.frmMember.txtPassword.value.length < 4)
   {
		alert("Password must be at least 4 characters long") ;
		document.frmMember.txtPassword.focus() ;
		return false ;
   }
	else if(document.frmMember.txtPassword.value.length > 20 )
   {
		alert("Max. Length Cannot Exceed 20") ;
		document.frmMember.txtPassword.focus() ;
		return false ;
   }
/*
   if(document.frmMember.txtConfirmPassword.value.length == 0)
   {
	   alert("Please Enter Password") ;
	   document.frmMember.txtConfirmPassword.focus() ;
	   return false ;
   }
	else if(document.frmMember.txtConfirmPassword.value.length > 50 )
   {
		alert("Max. Length Cannot Exceed 50") ;
		document.frmMember.txtConfirmPassword.focus() ;
		return false ;
   }
*/
   //Check Passwords are same.
   if(document.frmMember.txtPassword.value != document.frmMember.txtConfirmPassword.value)
   {
	   alert("Passwords Don't Match") ;
	   document.frmMember.txtConfirmPassword.value = "" ;
	   document.frmMember.txtConfirmPassword.focus() ;
	   return false;
   }
   

	//Member Details
   document.frmMember.txtMember.value=Trim(document.frmMember.txtMember.value);
   if(document.frmMember.txtMember.value == "")
   {
	   alert("Name Cannot Be Blank") ;
	   document.frmMember.txtMember.focus() ;
	   return false ;
   }
	else if(document.frmMember.txtMember.value.length > 100 )
   {
		alert("Max. Length Cannot Exceed 100") ;
		document.frmMember.txtMember.focus() ;
		return false ;
   }
   document.frmMember.txtMailingAddress1.value=Trim(document.frmMember.txtMailingAddress1.value);
   if(document.frmMember.txtMailingAddress1.value == "")
   {
	   alert("Mailing Address1 Cannot Be Blank") ;
	   document.frmMember.txtMailingAddress1.focus() ;
	   return false ;
   }
	else if(document.frmMember.txtMailingAddress1.value.length > 75 )
   {
		alert("Max. Length Cannot Exceed 75") ;
		document.frmMember.txtMailingAddress1.focus() ;
		return false ;
   }

	if(document.frmMember.txtMailingAddress2.value.length > 75 )
   {
		alert("Max. Length Cannot Exceed 75") ;
		document.frmMember.txtMailingAddress2.focus() ;
		return false ;
   }
   document.frmMember.txtCity.value=Trim(document.frmMember.txtCity.value);
   if(document.frmMember.txtCity.value == "")
   {
	   alert("City Cannot Be Blank") ;
	   document.frmMember.txtCity.focus() ;
	   return false ;
   }
	else if(document.frmMember.txtCity.value.length > 50 )
   {
		alert("Max. Length Cannot Exceed 50") ;
		document.frmMember.txtCity.focus() ;
		return false ;
   }

/*   if(document.frmMember.CmbState.value == 1)
   {
		if(Trim(document.frmMember.txtState.value) == "")
		{
			alert("State Cannot Be Blank") ;
		   document.frmMember.txtState.focus() ;
			return false ;
		}
		else if(document.frmMember.txtState.value.length > 50)
		{
			alert("Max. Length Cannot Exceed 50") ;
			document.frmMember.txtState.focus() ;
			return false ;
		}
   }
*/   
   document.frmMember.txtZipCode.value=Trim(document.frmMember.txtZipCode.value);
   if(document.frmMember.txtZipCode.value == "")
   {
	   alert("ZipCode Cannot Be Blank") ;
	   document.frmMember.txtZipCode.focus() ;
	   return false ;
   }
	else if(document.frmMember.txtZipCode.value.length > 5 )
   {
		alert("Max. Length Cannot Exceed 5") ;
		document.frmMember.txtZipCode.focus() ;
		return false ;
   }

	if (!ValidatePhone(document.frmMember.txtTelephone, 'false'))
   {
   		return false;
   }

	if (!ValidatePhone(document.frmMember.txtFax, 'true'))
   {
   		return false;
   }
   document.frmMember.txtEmail.value=Trim(document.frmMember.txtEmail.value);
   if(document.frmMember.txtEmail.value == "")
   {
	   alert("Email Cannot Be Blank") ;
	   document.frmMember.txtEmail.focus() ;
	   return false ;
   }
	else if(document.frmMember.txtEmail.value.length > 50 )
   {
		alert("Max. Length Cannot Exceed 50") ;
		document.frmMember.txtEmail.focus() ;
		return false ;
   } 
   	else if (!ValidateEmail(document.frmMember.txtEmail.value, 'Invalid Email Address'))
   {	  
   		document.frmMember.txtEmail.focus() ;
		return false ;
   }

	//Business Details
	if(document.frmMember.txtBizAssociation.value.length > 100 )
   {
		alert("Max. Length Cannot Exceed 100") ;
		document.frmMember.txtBizAssociation.focus() ;
		return false ;
   }

	if(document.frmMember.txtBizAddress1.value.length > 75 )
   {
		alert("Max. Length Cannot Exceed 75") ;
		document.frmMember.txtBizAddress1.focus() ;
		return false ;
   }

	if(document.frmMember.txtBizAddress2.value.length > 75 )
   {
		alert("Max. Length Cannot Exceed 75") ;
		document.frmMember.txtBizAddress2.focus() ;
		return false ;
   }

	if(document.frmMember.txtBizCity.value.length > 50 )
   {
		alert("Max. Length Cannot Exceed 50") ;
		document.frmMember.txtBizCity.focus() ;
		return false ;
   }

/*   if(document.frmMember.CmbBizState.value == 1)
   {
		if(document.frmMember.txtBizState.value.length > 50)
		{
			alert("Max. Length Cannot Exceed 50") ;
			document.frmMember.txtBizState.focus() ;
			return false ;
		}
   }
*/   
	if(document.frmMember.txtBizZipCode.value.length > 5 )
   {
		alert("Max. Length Cannot Exceed 5") ;
		document.frmMember.txtBizZipCode.focus() ;
		return false ;
   }

	 if (!ValidatePhone(document.frmMember.txtBizTelephone,'true'))
   {
   		return false;
   }

	 if (!ValidatePhone(document.frmMember.txtBizFax,'true'))
   {
   		return false;
   }

	if (document.frmMember.txtBizEmail.value.length > 50 )
   {
		alert("Max. Length Cannot Exceed 50") ;
		document.frmMember.txtBizEmail.focus() ;
		return false ;
   }

	//Submit The Form.
   //document.frmMember.submit();
   return true;
}
