// auto tabbing for phone field starts

var phone_field_length=0;
function TabNext(obj,event,len,next_field)
{
	if(event == "down")
	{
	  phone_field_length=obj.value.length;
	}
	else if(event == "up")
	{
	  if(obj.value.length != phone_field_length)
	  {
		phone_field_length=obj.value.length;
		
		if(phone_field_length == len)
		{
			next_field.focus();
		}
		
	  }
	}
}


// auto tabbing for phone field ends



//document.onKeyPress = getEnterKey;
if (navigator.appName == 'Netscape') {
    window.captureEvents(Event.KEYPRESS);
    window.onKeyPress = getEnterKey;
}

function getEnterKey(keyStroke) 
{

	// when user presses 'Enter' key 
	isNetscape=(document.layers);
	keyCode = (isNetscape) ? keyStroke.which : event.keyCode;
	if (keyCode==13) 
	{
		validation();
	}

}
//  End -->


function stringvalidateusername(field)
{
	
  var valid="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"
	
  for (var i=0; i<field.length; i++) 
  {
		if (valid.indexOf(field.charAt(i)) < 0) 
		{
			//alert('invalid characters');
			return false;
		}
  }
			  
}
	
function stringvalidatepassword(field)
{
	
  var valid="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-._!@#%^&*"
		
  for (var i=0; i<field.length; i++) 
  {
		if (valid.indexOf(field.charAt(i)) < 0) 
		{
			//alert('invalid characters');
			return false;
		}
  }
  
}
	
// validation for first or last name
function stringvalidatename(field)
{
	
  var valid="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ'."
	
  for (var i=0; i<field.length; i++) 
  {
		if (valid.indexOf(field.charAt(i)) < 0) 
		{
			//alert('invalid characters');
			return false;
		}
  }
			  
}

function stringvalidatestate(field)
{
	
  var valid="0123456789abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	
  for (var i=0; i<field.length; i++) 
  {
		if (valid.indexOf(field.charAt(i)) < 0) 
		{
			//alert('invalid characters');
			return false;
		}
  }
			  
}

function stringvalidatecity(field)
{
	
  var valid="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	
  for (var i=0; i<field.length; i++) 
  {
		if (valid.indexOf(field.charAt(i)) < 0) 
		{
			//alert('invalid characters');
			return false;
		}
  }
			  
}

	
function integersonly(field)
{
	
  var valid="0123456789"
	
  for (var i=0; i<field.length; i++) 
  {
		if (valid.indexOf(field.charAt(i)) < 0) 
		{
			//alert('invalid characters');
			return false;
		}
  }
			  
}

function integersnhiphen(field)
{
	
  var valid="0123456789-"
	
  for (var i=0; i<field.length; i++) 
  {
		if (valid.indexOf(field.charAt(i)) < 0) 
		{
			//alert('invalid characters');
			return false;
		}
  }
			  
}

	
function validation()
{



if (trim(document.registration.txtSchoolCode.value) == "")
  {
   	alert("Please enter your School Code.");
	document.registration.txtSchoolCode.focus();
	return false;
  }
  if (document.registration.cboPrefix[document.registration.cboPrefix.selectedIndex].value == "none")
  {
   	alert("Please select prefix.");
	document.registration.cboPrefix.focus();
	return false;
  }

  if (trim(document.registration.txtFirstName.value) == "")
  {
   	alert("Please enter your first name.");
	document.registration.txtFirstName.focus();
	return false;
  }
  
/*  var ret = stringvalidatename(trim(document.registration.txtFirstName.value))
  if (ret==false)
  {
		alert("Please don't include any numbers/special characters other than '. in first name.");
		document.registration.txtFirstName.focus();
		return false;
  }*/

/*  if (trim(document.registration.txtMiddleName.value) == "")
  {
   	alert("Please enter your middle name.");
    document.registration.txtMiddleName.focus();
  	return false;
  }

  var ret1 = stringvalidatename(trim(document.registration.txtMiddleName.value))
  if (ret1==false)
	{
		alert("Please don't include any numbers/special characters other than '. in middle name.");
		document.registration.txtMiddleName.focus();
		return false;
	}*/
  
  if (trim(document.registration.txtLastName.value) == "")
  {
   	alert("Please enter your last name.");
	  document.registration.txtLastName.focus();
  	return false;
  }
  
/* var ret1 = stringvalidatename(trim(document.registration.txtLastName.value))
  if (ret1==false)
	{
		alert("Please don't include any numbers/special characters other than '. in last name.");
		document.registration.txtLastName.focus();
		return false;
	}*/
/*
  var ret1 = stringvalidatename(trim(document.registration.txtSchoolName.value))
  if (ret1==false)
	{
		alert("Please don't include any numbers/special characters other than '. in last name.");
		document.registration.txtSchoolName.focus();
		return false;
	}

  if (trim(document.registration.txtSchoolName.value) == "")
  {
   	alert("Please enter your School Name.");
	document.registration.txtSchoolName.focus();
	return false;
  }

  if (trim(document.registration.txtSchoolAddress.value) == "")
  {
   	alert("Please enter your School Address.");
	document.registration.txtSchoolAddress.focus();
	return false;
  }

  if (trim(document.registration.txtDistrictName.value) == "")
  {
   	alert("Please enter District Name.");
	document.registration.txtDistrictName.focus();
	return false;
  }

  if (document.registration.cboGradeLevel[document.registration.cboGradeLevel.selectedIndex].value == 0)
  //{
 // 	alert("Please select Grade Level.");
	//document.registration.cboGradeLevel.focus();
	//return false;
  }*/
 var checkbox_choices=0;

for (counter = 0; counter < document.registration.chkGrade.length; counter++)
{
    if (document.registration.chkGrade[counter].checked)
    {

     checkbox_choices = checkbox_choices + 1;
    }
}


if(checkbox_choices==0)
  {
   alert("Please select Grade Level.");
   document.registration.chkGrade[1].focus();
   return false;
  }

  if (trim(document.registration.txtSubjectArea.value) == "")
  {
   	alert("Please enter your Subject Area.");
	document.registration.txtSubjectArea.focus();
	return false;
  }
  

  if (document.registration.cboExpertise[document.registration.cboExpertise.selectedIndex].value == 0)
  {
   	alert("Please select Year of Expertise.");
	document.registration.cboExpertise.focus();
	return false;
  }

  if (document.registration.cboUserType[document.registration.cboUserType.selectedIndex].value == 0)
  {
   	alert("Please select User Type.");
	document.registration.cboUserType.focus();
	return false;
  }

  if (document.registration.cboSbrType[document.registration.cboSbrType.selectedIndex].value == 0)
  {
   	alert("Please select Subscription Type.");
	document.registration.cboSbrType.focus();
	return false;
  }

  if (trim(document.registration.txtAddress1.value) == "")
  {
   	alert("Please enter your address.");
	document.registration.txtAddress1.focus();
	return false;
  }

  if (trim(document.registration.txtCity.value) == "")
  {
   	alert("Please enter your city.");
	document.registration.txtCity.focus();
	return false;
  }

  var ret1b = stringvalidatecity(trim(document.registration.txtCity.value))
  if (ret1b==false)
  {
		alert("Only alphabets and spaces allowed in city field.");
		document.registration.txtCity.focus();
		return false;
  }
  if(trim(document.registration.txtZip.value) == "")
  {
    alert("Please enter your zipcode.");
    document.registration.txtZip.focus();
	return false;
  } 

  // Zip code
  var strZipCode = trim(document.registration.txtZip.value);
  
  if(strZipCode.length>0)			        
  {
	
	    //checks for the integer validation if any string value is present in it
	   /* var ret2=integersnhiphen(strZipCode);
	    if (ret2==false )
	    {
	    	alert("Please enter only numbers for Zip code")
	        document.registration.txtZip.focus();
	        return false;
	    }*/
			
		//checks for the existence of zip code for atleast five digits
		if(strZipCode.length < 5)
		{
			alert("Zip code should be atleast 5 digits");
		    document.registration.txtZip.focus();
		    return false;
		}	
	    
	          
	    if(strZipCode <= 0)
		{
		    alert("Zip codes should not have all digits zero");
		    document.registration.txtZip.focus();
		    return false;
		}      		                        
			                 
	}
  
  /*if (document.registration.cboCounty[document.registration.cboCounty.selectedIndex].value == "0")
  {
   	alert("Please select county.");
	document.registration.cboCounty.focus();
	return false;
  }*/
  if (document.registration.cboCountry[document.registration.cboCountry.selectedIndex].value == "0")
  {
   	alert("Please select country.");
	document.registration.cboCountry.focus();
	return false;
  }
  
	if(document.registration.cboCountry[document.registration.cboCountry.selectedIndex].value > 0 && document.registration.txtStateOthers.disabled==false)
	if (trim(document.registration.txtStateOthers.value) == "")
	{
		alert("Please specify state/province.");
		document.registration.txtStateOthers.focus();
		return false;
	}
	
  
if(document.registration.cboState[document.registration.cboState.selectedIndex].value == 0 && document.registration.cboCountry[document.registration.cboCountry.selectedIndex].value > 0 && document.registration.cboState.disabled == false)
	{
	
    alert("Please select state.");
	document.registration.cboState.focus();
	return false;
  }
  
  
  

	if(document.registration.cboCounty)
	{
		if(trim(document.registration.cboCounty.value)=="")
		{
			alert("Please Enter the county");
			document.registration.cboCounty.focus();
			return false;

		}

	}

/*
  if(trim(document.registration.txtCountryCode.value) == "" || document.registration.txtCountryCode.value=="Country")
  {
    alert("Please enter your country code.");
    document.registration.txtCountryCode.focus();
	return false;
  } 

  if(trim(document.registration.txtCountryCode.value) <= 0)
  {
	alert("Only zeroes not allowed in country code")
	document.registration.txtCountryCode.focus();
	return false;
  }
  
  */


  if(trim(document.registration.txtHomephone.value) == "" )
  {
  	alert("Please enter your phone number.");
	document.registration.txtHomephone.focus();
	return false;
  }
 /*
  if(trim(document.registration.txtHomeFax.value) != "")
  {
	
		alert("Please enter your Fax number");
        document.registration.txtHomeFax.focus();
		return false;
  }
 */
 	
/*	
  if(trim(document.registration.txtPhone.value) <= 0)
  {
		alert("Only zeroes not allowed in phone number")
		document.registration.txtPhone.focus();
		return false;
  }
  

  if(trim(document.registration.txtExtension.value) != "")
  {
	if(trim(document.registration.txtExtension.value) <=0 )
	{
		alert("Only zeroes not allowed in extension number ")
			document.registration.txtExtension.value=" ";
		document.registration.txtExtension.focus();
		return false;
	}
  }

  if(trim(document.registration.txtFaxCountryCode.value) != "")
  {
		if(trim(document.registration.txtFaxCountryCode.value) <=0 )
		{
			alert("Only zeroes not allowed in fax country code")
			document.registration.txtFaxCountryCode.focus();
			return false;
		}
	 
		if(trim(document.registration.txtFax.value) == "")
		{
			alert("Please enter your Fax number")
			document.registration.txtFax.focus();
			return false;
		}
  } 
*/  
  
	
/*	if(trim(document.registration.txtFaxCountryCode.value) == "")
	 {
		alert("Please enter your Fax country code")
		document.registration.txtFaxCountryCode.focus();
		return false;
	 } 
  }
   
*/
/*  if(trim(document.registration.txtFaxExtension.value) != "")
  {
		var retfaxext=integersonly(trim(document.registration.txtFaxExtension.value));
		if (retfaxext==false)
		{
				alert("Please enter only numbers in fax extension number")
				document.registration.txtFaxExtension.value="  ";
			    document.registration.txtFaxExtension.focus();
			    return false;
		}
		else if(trim(document.registration.txtFaxExtension.value) <=0 )
		{
				alert("Only zeroes not allowed in fax extension")
			    document.registration.txtFaxExtension.focus();
			    return false;
		} 

		if(trim(document.registration.txtFaxCountryCode.value) == "")
		 {
			alert("Please enter your Fax country code")
			document.registration.txtFaxCountryCode.focus();
			return false;
		 } 
		 
		 if(trim(document.registration.txtFax.value) == "")
		 {
			alert("Please enter your Fax number")
			document.registration.txtFax.focus();
			return false;
		 }
	 
  //} */
  

  if(trim(document.registration.txtEmailAddress.value) == "")
  {
    alert("Please enter your email address.");
    document.registration.txtEmailAddress.focus();
	return false;
  } 


	var fieldname="Email";
	var fieldvalue=trim(document.registration.txtEmailAddress.value)
	var specialcharset="`~!|\#$%^&*():;{}[]'?/<>,+=";
	var ret6 = validemail(fieldvalue,fieldname,specialcharset)
	if (ret6 == "false")
	{
		document.registration.txtEmailAddress.focus();
		return false;
	}
	
  var cfieldname="Email";
	var cfieldvalue=trim(document.registration.txtConfirmEmail.value)
	var cspecialcharset="`~!|\#$%^&*():;{}[]'?/<>,+=";
	var cret6 = validemail(cfieldvalue,cfieldname,cspecialcharset)
	if (ret6 == "false")
	{
		document.registration.txtConfirmEmail.focus();
		return false;
	}
	
	if(fieldvalue!=cfieldvalue)
   {
    alert("Please Check Email Address")
   	document.registration.txtConfirmEmail.focus();
		return false;
   }
  

  if(trim(document.registration.txtUserName.value) == "")
  {
    alert("Please enter your user name.");
    document.registration.txtUserName.focus();
	return false;
  } 

  var ret7 = stringvalidateusername(trim(document.registration.txtUserName.value))
  if (ret7 == false)
	{		
		alert("Only alphanumeric characters and underscore allowed in user name.");
		document.registration.txtUserName.focus();
		return false;
	}
  else if(document.registration.txtUserName.value.length < 4) 
  {
    alert("Your User Name must be at least 4 characters.");
    document.registration.txtUserName.focus();
	return false;
  }
var strusername=trim(document.registration.txtUserName.value)
var firstchar = strusername.substring(0,1);
var intval=parseFloat(firstchar)
if (isNaN(intval)==false)
{
		
	alert("Please enter only alphabets as the first character in user name.");
	document.registration.txtUserName.focus();
	return false;
}
	
	 var valid1="~!@#$%^&*()-_+=[{}]\|;:/.?<>,1234567890";//first charachter should not contain any special charachters or numbers
		 var valid2="~!@#$%^&*()-_+=[{}]\|;:/.?<>,";//last charachter should not contain any special charachters 
		 count=0;	
		 key=document.registration.txtUserName.value;
		 
				
		  if(valid1.indexOf(key.charAt(0)) > 0 ) 
		    {
				alert("Please check your username.First letter of username should not be a number or special charachter.");
				document.registration.txtUserName.focus;
				return false;		
			
		    }
          if(valid2.indexOf(key.charAt(key.length-1))>0 ) 
		    {
				alert("Please check your username.Last letter of username should not be special charachter.");
				document.registration.txtUserName.focus;
				return false;		
			
		    } 

  if(document.registration.txtPassword.value == "")
  {
    alert("Please enter a password.");
    document.registration.txtPassword.focus();
	return false;
  } 
  else if(document.registration.txtPassword.value.length < 6) 
  {
    alert("Your password must be at least 6 characters.");
    document.registration.txtPassword.focus();
	return false;
  }
  else if (document.registration.txtPassword.value.indexOf(" ")!=-1)
  {
	alert("This field does not accept 'Spaces'");
	document.registration.txtPassword.focus();
	return false;
  }
  
  var ret8=stringvalidatepassword(document.registration.txtPassword.value)
		
  if (ret8==false)
  {
    alert("Please don't include any special characters other than -._!@#%^&* in password.");
    document.registration.txtPassword.focus();
    return false;
  }
  
  
  if(trim(document.registration.txtConfirmPassword.value) == "")
  {
    alert("Please confirm your password.");
    document.registration.txtConfirmPassword.focus();
	return false;
  } 
  
  if(trim(document.registration.txtConfirmPassword.value) != trim(document.registration.txtPassword.value))
  {
    alert("Please re-enter the same password.");
    document.registration.txtConfirmPassword.focus();
	return false;
  } 

   myOption=-1;
	for (rCount=0; rCount<document.registration.tandc.length; rCount++) {
	if (document.registration.tandc[rCount].checked)
	  {
	   myOption = rCount;
	   }
	}
	if (myOption == -1) {
	alert("Please Accept terms and conditions.");
	document.registration.tandc[1].focus;
	return false;
	}
	if(document.registration.tandc[myOption].value==0)
	  {
	   alert("You have not accepted the Terms and Conditions. So You are not allowed to register");
		   return false
	  
	  }
  if(document.registration.cboCountry[document.registration.cboCountry.selectedIndex].value == "253")
  {
	//check to see if country is  'US --> CODE 253' if so clear
	document.registration.txtStateOthers.value = "";	
  }
  document.registration.setconfirm.value="1";
  
  document.registration.action="newregistration.php";
  document.registration.hdnFormSubmition.value="Yes";
  //document.registration.submit();
  return true;
  	
}

function showStates()
{

   if (document.registration.cboCountry.value != "0")
   {
	document.registration.action="registration.php?loadstate=yes";
	document.registration.submit();
   }
}



//function to trim preceding and following spaces for text fields
function trim(str)
{
	temp=" ";
		var countspcatfrnt=-1;
		var len;
		i=0;
		len=str.length;
		while(temp==" ")
		{
			temp=str.substring(i,i+1);
			countspcatfrnt+=1;//counting front spaces
			i+=1;	
		}
		temp=" ";
		var countspcatrear=-1;
		var trimvalue=""
		i=0;
		while(temp==" ")
		{
			temp=str.substring(((len-i)-1),(len-i));
			countspcatrear+=1;//counting rear spaces
			i++;
		}
		i=0;
		for(i=countspcatfrnt; i<=(len-countspcatrear-1); i++)
			trimvalue=trimvalue + str.substring(i,i+1);
				
		return trimvalue;
}

function statecheck()
{

	if(document.registration.cboCountry[document.registration.cboCountry.selectedIndex].value == "253")
	{
		document.registration.cboState.disabled = false;
		//document.registration.cboCounty.disabled = false;
		document.registration.txtStateOthers.disabled = true;
		document.registration.cboState.focus();
		return true;
	}
	else
	{
		document.registration.cboState.disabled = true;
    	//document.registration.cboCounty.disabled = true;
		document.registration.txtStateOthers.disabled = false;
		document.registration.txtStateOthers.focus();
		return true;
	}
}

/*function onloadstatecheck()
{
	if(document.registration.cboCountry[document.registration.cboCountry.selectedIndex].value == "253")
	{
		document.registration.cboState.disabled = false;
		document.registration.cboCounty.disabled = false;
		document.registration.txtStateOthers.disabled = true;
//		document.registration.cboState.focus();
		return true;
	}
	else
	{
		document.registration.cboState.disabled = true;
    	document.registration.cboCounty.disabled = true;
		document.registration.txtStateOthers.disabled = false;
//		document.registration.txtStateOthers.focus();
		return true;
	}
}*/
function formload()
 {
	
  document.registration.action="newregistration.php#country";
  document.registration.submit();
 }

  function cleanfield(obj,varval)
{

	 var valid="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"
     field=obj.value;
	  for (var i=0; i<field.length; i++) 
  {
		
		  
		if (valid.indexOf(field.charAt(i)) > 0) 
		{
		
		    obj.value = "";
    	    obj.focus();
	       return true;

		}
  }

	/*if(obj.value == varval)
	{
		 alert("hello");

	
	}*/
}
function fillfield(obj,varval)
{

	if(obj.value == "")
	{
	    obj.value = varval;
	    return true;
	}
}
 function storegrade()
  {
	  
   var checkedval="";
    for (counter = 0; counter < document.registration.chkGrade.length; counter++)
      {
          if (document.registration.chkGrade[counter].checked)
          {
             
             if(checkedval=="")
              {
              checkedval=document.registration.chkGrade[counter].value;
              }
             else
             {
              checkedval=checkedval+","+document.registration.chkGrade[counter].value;
             }
          }
      }
   document.registration.txtGrade.value=checkedval;
  
  }
	  
function resetform()
{

	document.registration.hdnFormSubmition.value="no";
	
	document.registration.action="newregistration.php";
//	document.registration.href="registration.php";
	document.registration.submit();
}

//----------------------------------------------------------------
//=======TRIM==========END==============
//----------------------------------------------------------------  
