function formCheckIt(){

	// try to perform operation
	try {	

		var fname = document.MyForm.fname.value;
		var lname = document.MyForm.lname.value;
		var street = document.MyForm.street.value;
		var city = document.MyForm.city.value;
		var state = document.MyForm.state.value;
		var chkzipcode = document.MyForm.zip.value;
		var chkphone1 = document.MyForm.phone1.value;
		var chkphone2 = document.MyForm.phone2.value;
		var chkphone3 = document.MyForm.phone3.value;
		var email = document.MyForm.email.value;
		
		var msg = '';
		var zipcodeL = chkzipcode.length;
		
		var msg = '';
		var phone1L = chkphone1.length;
		
		var msg = '';
		var phone2L = chkphone2.length;
		
		var msg = '';
		var phone3L = chkphone3.length;

		if (fname == ''){
			var msg = msg + "\n First name is required.";
		}

		if (lname == ''){
			var msg = msg + "\n Last name is required.";
		}

		if (street == ''){
			var msg = msg + "\n Street address is required.";
		}

		if (city == ''){
			var msg = msg + "\n City is required.";
		}
						
		if (state == ''){
			var msg = msg + "\n State is required.";
		}
				
		if (chkzipcode == ''){
		
			var msg = msg + "\n Zip code does not have a valid format.";
		
		}else{
			
			if (!IsNumeric(chkzipcode)){
				var msg = msg + "\n Zip code only allows digits.";
			}
			
			if (zipcodeL != 5){
				var msg = msg + "\n Zip code requires 5 digits.";
			}
		
		}
		
		if (chkphone1 == ''){
		
			var msg = msg + "\n Home phone area code does not have a valid format.";
		
		}else{
			
			if (!IsNumeric(chkphone1)){
				var msg = msg + "\n Home phone area code only allows digits.";
			}
			
			if (phone1L != 3){
				var msg = msg + "\n Home phone area code requires 3 digits.";
			}
		
		}
		
		if (chkphone2 == ''){
		
			var msg = msg + "\n Home phone prefix does not have a valid format.";
		
		}else{
			
			if (!IsNumeric(chkphone2)){
				var msg = msg + "\n Home phone prefix only allows digits.";
			}
			
			if (phone2L != 3){
				var msg = msg + "\n Home phone prefix requires 3 digits.";
			}
		
		}
		
		if (chkphone3 == ''){
		
			var msg = msg + "\n Home phone suffix does not have a valid format.";
		
		}else{
			
			if (!IsNumeric(chkphone3)){
				var msg = msg + "\n Home phone suffix only allows digits.";
			}
			
			if (phone3L != 4){
				var msg = msg + "\n Home phone suffix requires 4 digits.";
			}
		
		}
		
		if (email == ''){
			var msg = msg + "\n Email is required.";
		}else{
			if ( echeck(email) == false ){
				var msg = msg + "\n Email format is invalid.";
			}
		}
		
		
		if (msg != ''){
			var msg = "The following items need to be reviewed: \n" + msg;
			alert(msg);
			return false;
		}else{
			disableExitPop = true;
			return
		}
	
	}

	// if error is found, then display error and stop processing
	catch(err)
	{
	   var txt="There was an error on this page.\n\n"
	   txt+="Error description: " + err.description + "\n\n"
	   txt+="Click OK to continue.\n\n"
	   alert(txt)
	   return false;
	}
}


function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }	
	  
   return IsNumber;
   
}
