////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////

function CheckCountryUS(dForm)
{
	if(dForm.Slct_Country)
	{
		if(dForm.Slct_Country.value == "US")
		{
			document.getElementById("row_province").className = "Hidden";
			document.getElementById("row_postalcode").className = "Hidden";

			document.getElementById("row_state").className = "UnHidden";
			document.getElementById("row_zipcode").className = "UnHidden";
		}
		else
		{
			document.getElementById("row_state").className = "Hidden";
			document.getElementById("row_zipcode").className = "Hidden";

			document.getElementById("row_province").className = "UnHidden";
			document.getElementById("row_postalcode").className = "UnHidden";
		}
	}
}

////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
	
function CheckUsername(dField,dName)
{
	//alert("In function");
	//commented  by rups 18apr2006 - log 492	
	/*fieldvalue=dField.value;
	chkchar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
	for(i=0;i<fieldvalue.length;i++)
	{
		if(chkchar.indexOf(fieldvalue.charAt(i))==-1)
		{
			//alert changed by Prajakta on 16Aug2005 log#263
			alert("Username may only contain alphanumeric characters.");
			dField.focus();
			return true;
		}
	}*/
	
	//Added by rups 18apr2006 - log 492
	var sField = dField;
	var sUserName = sField.value;

	if (CheckFieldEmpty(sField, "User Name"))
		return false;

	if (sUserName.length >30)
	{
		alert('User Name must be less than 30 characters');
		sField.focus();
		return false;
	}
	var sAlert="Username may only include alphanumeric characters, dashes and underscores."
	var sExtraChar="_-";
	if (CheckAlphaNumericWithChar(sField, sAlert,sExtraChar))
		return false;
	
	
	if (CheckDoubleDash(sField,"User Name",sAlert))
		return false;	

}

////////////////////////////////////////////////////////////
//Added by rups 19apr2006 - log 492

function CheckDoubleDash(dField,dName,dAlert)
{
	fieldvalue=dField.value;
	for(i=0;i<fieldvalue.length;i++)
	{
		if (fieldvalue.charAt(i)=="-")
		{
			if (i<(fieldvalue.length-1))
				if(fieldvalue.charAt(i)==fieldvalue.charAt(i+1))
				{
					alert(dAlert)
					dField.focus();
					return true;
				}
		}
	}

}
//Added by rups 18apr2006 - log 492

function CheckPassword(dField)
{
	var sPassword = dField.value;
	
	if (CheckFieldEmpty(dField, "Password"))
		return false;


	if (sPassword.length < 6 || sPassword.length > 30)
	{
		alert('Password must be at least 6 characters & should not be greater than 30 characters.');
		dField.focus();
		return false;
	}
	
	var sAlert = "Password must be minimum of 6 characters and may only include alphanumeric characters, dashes, underscores and exclamation mark."
	sExtraChar="_-!";
	
	if (CheckAlphaNumericWithChar(dField, sAlert,sExtraChar))
		return false;

	if (CheckDoubleDash(dField,"Password",sAlert))
		return false;
}

////////////////////////////////////////////////////////////

function CheckValidPassword(dForm)
{
	var sField = dForm.Txt_Password;
	var sPassword = sField.value;

	//Changed by rups 18apr2006 - log 492
	
	if (CheckPassword(sField) == false)
		return false;

	if (sPassword != dForm.Txt_Password2.value)
	{
		alert('Both Passwords must be the same');
		dForm.Txt_Password2.focus();
		return false;
	}
}
////////////////////////////////////////////////////////////

function CheckEmptyPassQ(dForm)
{
	return CheckFieldEmpty(dForm.Txt_PassQ, "Password Reminder Question");
}

////////////////////////////////////////////////////////////

function CheckEmptyPassA(dForm)
{
	return CheckFieldEmpty(dForm.Txt_PassA, "Password Reminder Answer");
}

////////////////////////////////////////////////////////////

function CheckValidEmail(dForm)
{
	var sField = dForm.Txt_Email;
	var sEmail = sField.value;
	
	if (CheckFieldEmpty(sField, "Email"))
		return false;

	var sChar, sAscii

	var atCount = 0;
	var dotCount = 0;
	var n = 0;

	var st = new String;
	st = sEmail.split(" ");
	st = st.join("");
	st = st.toLowerCase();

	sAscii = st.charCodeAt(0);
	for(n=0; n<st.length; n++)
	{
		sChar = st.charCodeAt(n);
		if ((sChar<48) || (sChar>57))
		{
			if ((sChar<97) || (sChar>122))
			{ 
				if ((sChar == 95) || (sChar==46) || (sChar==64)|| (sChar==45))
				{
					//alert("special but correct");
				}
				else
				{ 
					alert("Please enter valid E-mail Address");
					sField.focus();
					count = 0;
					return false;
				}
			}
		}
		if(st.charAt(n)=='@'&& n==0) atCount = atCount + 1;
		if(st.charAt(n)=='@'&& st.charAt(n+1)=='.') atCount = atCount+1;
		if(st.charAt(n)=='@') atCount = atCount+1;
		if(st.charAt(n)=='.') 
		{
			if(st.charAt(n+1)=='.' || n==st.length-1 ) atCount=2;
			dotCount = dotCount + 1;
		}
	}

	if(atCount!=1 || dotCount<1) 
	{
		alert("Please enter valid E-mail Address");
		sField.focus();
		return false;
	}
	else if ((sAscii < 48) || (sAscii > 122)) 
	{
		alert("Please enter valid E-mail Address");
		sField.focus();
		count = 0;
		return false;
	}
	else
	{
		x = st.lastIndexOf("@");
		y = st.lastIndexOf(".");

		if (y < x )
		{
			alert("Please enter valid E-mail Address");
			sField.focus();
			return false;
		}
	}
	
	/*
	if (sEmail != dForm.Txt_Email2.value)
	{
		alert('Both Email Addresses must be the same');
		dForm.Txt_Email2.focus();
		return false;
	}
	*/
	return true;
}

////////////////////////////////////////////////////////////
//////////////Added by Saakshi - 14th Apr'04
function CheckAlphaNumeric(dField,dName)
{
	fieldvalue=dField.value;
	chkchar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789,- '";
	for(i=0;i<fieldvalue.length;i++)
	{
		if(chkchar.indexOf(fieldvalue.charAt(i))==-1)
		{
			Charecter_Alert(dName);				
			dField.focus();
			return true;
		}
	}
}

////////////////////////////////////////////////////////////
//Added by rups 18apr2006 - log 492
function CheckAlphaNumericWithChar(dField,dName,dExtraChar)
{
	fieldvalue=dField.value;
	chkchar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + dExtraChar;
	for(i=0;i<fieldvalue.length;i++)
	{
		if(chkchar.indexOf(fieldvalue.charAt(i))==-1)
		{
			alert(dName);	
			dField.focus();
			return true;
		}
	}
}

////////////////////////////////////////////////////////////

function CheckLength(dField,dName,dLength)
{
	fieldvalue=dField.value;				
	if (fieldvalue.length > dLength)
		{
		alert("Please Enter Number of Characters less than " + dLength);
		dField.focus();
		return true;		
		}
}	

////////////////////////////////////////////////////////////

function CheckCharecter(dField,dName)
	{
		fieldvalue=dField.value;
		chkchar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ";
		for(i=0;i<fieldvalue.length;i++)
		{
			if(chkchar.indexOf(fieldvalue.charAt(i))==-1)
			{
				Charecter_Alert(dName);				
				dField.focus();
				return true;
			}
		}
	}
	
function CheckCharecterAndNum(dField,dName)
{
	alert(44);
	return false;
	fieldvalue=dField.value;
	chkchar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	for(i=0;i<fieldvalue.length;i++)
	{
		if(chkchar.indexOf(fieldvalue.charAt(i))==-1)
		{
			Charecter_Alert(dName);				
			dField.focus();
			//return true;
		}
	}

}
////////////////////////////////////////////////////////////

function CheckNumeric(dField,dName)
	{
		fieldvalue=dField.value;
		chknums="0123456789";		
		for(i=0;i<fieldvalue.length;i++)
		{
			if(chknums.indexOf(fieldvalue.charAt(i))==-1)
			{
				Numeric_Alert(dName);				
				dField.focus();
				return true;
			}
		}
	}	
////////////////////////////////////////////////////////////
function CheckNumericFloat(dField,dName) //Added by Rup - 23Jan2006 - log 403 judge fee validation
	{
		fieldvalue=dField.value;
		chknums="0123456789.";		
		for(i=0;i<fieldvalue.length;i++)
		{
			if(chknums.indexOf(fieldvalue.charAt(i))==-1)
			{
				Numeric_Alert(dName);				
				dField.focus();
				return true;
			}
		}
	}	
////////////////////////////////////////////////////////////

function validate_contact(dForm)
{
	if (CheckFieldEmpty(dForm.Txt_FirstName, "First Name"))
		return false;

	if (CheckFieldEmpty(dForm.Txt_LastName, "Last Name"))
		return false;

	if (CheckFieldEmpty(dForm.Txt_City, "City"))
		return false;
	
	if (CheckCharecter(dForm.Txt_FirstName, " First Name"))
		return false;
	
	if (CheckCharecter(dForm.Txt_LastName, " Last Name"))
		return false;	
	
	if (CheckCharecter(dForm.Txt_City, " City"))
		return false;				

	if (CheckFieldSelect(dForm.Slct_Country, "Country"))
		return false;
	//modified by Hoa 01Oct2007 log
	if (dForm.Slct_Country.value=="US")
	{
		if (CheckFieldSelect(dForm.Slct_State, "State"))
			return false;
	}
	else
	{
		if (CheckFieldEmpty(dForm.Txt_PostalCode, "Postal Code"))
			return false;
			
		if (CheckAlphaNumeric(dForm.Txt_PostalCode, " Postal Code"))
			return false;		
		
		if (CheckLength(dForm.Txt_PostalCode, " Postal Code" , 6))
			return false;	
		
		if (CheckFieldEmpty(dForm.Txt_Province, "Province"))
			return false;
			
		if (CheckAlphaNumeric(dForm.Txt_Province, " Province"))
			return false;		
	}
	//end modified by Hoa 01Oct2007 log
	
	/*if(dForm.Txt_Fax.value!= "")
		{
		if (CheckNumeric(dForm.Txt_Fax, " Fax"))
		return false;				
		}	
	*/
	if (CheckRadioSelect(dForm.Radio_Gender, "Gender"))
		return false;

	if (CheckFieldSelect(dForm.Slct_AgeGrp, "Age Group"))
		return false;
		
	var mgr;
	 mgr=dForm.Slct_AgeGrp[dForm.Slct_AgeGrp.selectedIndex].text;
	 if (mgr=="Under 14")
	 {
		alert("Sorry, in confromance to existing U.S. laws, people under the age of 14 may not become members. ");
		return false;
	 }

	if ('<%=uGovtStat%>'== '1')
	{
		alert('<%=uGovtStat%>');
		if (CheckFieldSelect(eval(dForm + ".Cmb_Govt"), "Government"))
			return false;
	}
	
	return true;
}

////////////////////////////////////////////////////////////

function CheckFieldEmpty(dField, dName)
{	
	sEmpty = isEmpty(dField.value);
	if (sEmpty)
	{
		Blank_Alert(dName);
		dField.focus();
	}
	
	return sEmpty
}

function CheckFieldSelect(dField, dName)
{	
	sNoSlct = (dField.selectedIndex < 1);
	if (sNoSlct)
	{
		Select_Alert(dName);
		dField.focus();
	}
	
	return sNoSlct
}

function CheckRadioSelect(dRadio, dName)
{	
	sNoSlct = (!dRadio[0].checked && !dRadio[1].checked);
	if (sNoSlct)
	{
		Select_Alert(dName);
		dRadio[0].focus();
	}
	
	return sNoSlct
}

////////////////////////////////////////////////////////////

function Blank_Alert(dFieldName)
{	
	var sAlert = "Please Enter ";
	sAlert += dFieldName;
	alert(sAlert);
}

function isEmpty(dText)
{	
	return (dText=="")
}

function Select_Alert(dFieldName)
{	
	var sAlert = "Please Select ";
	sAlert += dFieldName;
	alert(sAlert);
}


function Charecter_Alert(dFieldName)
	{	
		var sAlert = "Please Enter Character Value In";
		sAlert += dFieldName;
		alert(sAlert);
	}


function Numeric_Alert(dFieldName)
	{	
		var sAlert = "Please Enter Numeric Value In";
		sAlert += dFieldName;
		alert(sAlert);
	}

// created by rups 14nov2006 - log - 680 - Empty spaces not allowed

function CheckFieldSpaces(sString1,dname) 
	{
		sString=sString1.value;
		while (sString.substring(0,1) == ' ')
		{
			sString = sString.substring(1, sString.length);
		}
		if (sString.length==0)
		{
			alert ("Blank spaces are not allowed in " + dname);
			sString1.focus();
			return true;
		}
		else 
			return false;
				
	}