/*
'///////////////////////////////////////
'///////////////////////////////////////
*/
var msg;
var upperLine;
var lowerLine;
upperLine = "\n_________________________________________________________\n\n";
lowerLine = "_________________________________________________________\n";

function isBlank(val){
	if(val==null){return true;}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
		}
	return true;
}

function isZip(s){
	var	reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);
	if (!reZip.test(s)) {
		return false;
	}
	return true;
} 

function frmCheck(form, pageAction) {

	msg = "The form was not submited due to the following error:";
	
	//alert(pageAction);
	
	if (pageAction == "signup" || pageAction == "enroll" || pageAction == "email"){
		
		if (isBlank(form.email.value) == true)
			{
			msg += upperLine;
			msg += "Please enter an Email Address.\n";
			msg += lowerLine;
			alert (msg);
			form.email.focus();
			form.email.select();
			return false;
			}
			
		var RegExp = /^\w+([\.&-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
		if(!RegExp.test(form.email.value))
			{
			msg += upperLine;
			msg += "Please enter a valid Email Address.\n"
			msg += lowerLine;
			alert (msg)
			form.email.focus()
			form.email.select()
			return false;
			}
		
		if (pageAction == "signup"){
			if (isBlank(form.password1.value) == false)
			{
				if (form.password1.value.length < 6)
					{
					msg += upperLine;
					msg += "Your password must be a minimum of 6 characters.\n";
					msg += lowerLine;
					alert (msg);
					form.password1.focus();
					form.password1.select();
					return false;
					}
				if (form.password1.value != form.password2.value) 
					{
					msg += upperLine;
					msg += "Your passwords do not match. Please re-enter your passwords.\n";
					msg += lowerLine;
					alert (msg);
					form.password1.focus();
					form.password1.select();
					return false;
					}
			}
			if (isBlank(form.password2.value) == true)
			{
					msg += upperLine;
					msg += "You must confirm your password. Please enter your passwords in the confirm field.\n";
					msg += lowerLine;
					alert (msg);
					form.password2.focus();
					form.password2.select();
					return false;
			}

			if(form.month)
			{
				if(isNaN(form.month.value) == true)
				{
					msg += upperLine;
					msg += "Your month of birth is not valid.\nPlease re-enter your month of birth.\n";
					msg += lowerLine;
					alert (msg);
					form.month.focus();
					form.month.select();
					return false;	
				}
				if(form.month.value > 12 || form.month.value < 1)
				{
					msg += upperLine;
					msg += "Your birth month is not valid.\nPlease re-enter your month of birth.\n";
					msg += lowerLine;
					alert (msg);
					form.month.focus();
					form.month.select();
					return false;	
				}
			}

			if(form.date)
			{
				if(isNaN(form.date.value) == true)
				{
					msg += upperLine;
					msg += "Your day of birth is not valid.\nPlease re-enter your day of birth.\n";
					msg += lowerLine;
					alert (msg);
					form.date.focus();
					form.date.select();
					return false;	
				}
				if(form.date.value > 31 || form.date.value < 1)
				{
					msg += upperLine;
					msg += "Your day of birth is not valid.\nPlease re-enter your day of birth.\n";
					msg += lowerLine;
					alert (msg);
					form.date.focus();
					form.date.select();
					return false;	
				}			
			}

			if(form.year)
			{
				if(isNaN(form.year.value) == true)
				{
					msg += upperLine;
					msg += "Your birth year is not valid.\nPlease re-enter your year of birth.\n";
					msg += lowerLine;
					alert (msg);
					form.year.focus();
					form.year.select();
					return false;	
				}

				if(form.year.value < 1900)
				{
					msg += upperLine;
					msg += "Your birth year is not valid.\nPlease re-enter your year of birth.\n";
					msg += lowerLine;
					alert (msg);
					form.year.focus();
					form.year.select();
					return false;	
				}
						
			}			
		}
	}
		
	if (pageAction != "email"){
		if (isBlank(form.firstname.value) == true)
			{
			msg += upperLine;
			msg += "Please enter your first name.\n";
			msg += lowerLine;
			alert (msg);
			form.firstname.focus();
			form.firstname.select();
			return false;
			}
			
		if (isBlank(form.lastname.value) == true)
			{
			msg += upperLine;
			msg += "Please enter your last name.\n";
			msg += lowerLine;
			alert (msg);
			form.lastname.focus();
			form.lastname.select();
			return false;
			}
		
		if (isBlank(form.address1.value) == true)
			{
			msg += upperLine;
			msg += "Please enter your mailing address in Address Line 1.\n";
			msg += lowerLine;
			alert (msg);
			form.address1.focus();
			form.address1.select();
			return false;
			}
			
		if (isBlank(form.city.value) == true)
			{
			msg += upperLine;
			msg += "Please enter your city.\n";
			msg += lowerLine;
			alert (msg);
			form.city.focus();
			form.city.select();
			return false;
			}
			
		if (isBlank(form.custState.value) == true)
			{
			msg += upperLine;
			msg += "Please enter your state.\n";
			msg += lowerLine;
			alert (msg);
			form.custState.focus();	
			return false;
			}
			
		if (isBlank(form.zip.value) == true)
			{
			msg += upperLine;
			msg += "Please enter a zip code.\n";
			msg += lowerLine;
			alert (msg);
			form.zip.focus();
			form.zip.select();
			return false;
			}
		
		if (isZip(form.zip.value) == false) 
			{
			msg += upperLine;
			msg += "Please enter a valid Zipcode.\n"
			msg += lowerLine;
			alert (msg)
			form.zip.focus()
			form.zip.select()
			return false;
			}
					
		if (pageAction != "shipping" && pageAction != "enroll"){
			if ((isBlank(form.areacode.value) == true))
				{
				msg += upperLine;
				msg += "Please enter your complete daytime phone number.\n";
				msg += lowerLine;
				alert (msg);
				form.areacode.focus();
				form.areacode.select();
				return false;
				}
				
		}
		
		if ((isNaN(form.areacode.value) == true)){
			msg += upperLine;
			msg += "Your phone number contains non-numeric values.\nPlease reenter your phone number using only numbers.\n";
			msg += lowerLine;
			alert (msg);
			form.areacode.focus();
			form.areacode.select();
			return false;
		}else if ( form.areacode.value.length  !=3 ){
			msg += upperLine;
			msg += "Your phone area code must be 3 numeric characters.\n";
			msg += lowerLine;
			alert (msg);
			form.areacode.focus();
			form.areacode.select();
			return false;
		}
		
		if (isNaN(form.phoneprefix.value) == true){	
			msg += upperLine;
			msg += "Your phone number contains non-numeric values.\nPlease reenter your phone number using only numbers.\n";
			msg += lowerLine;
			alert (msg);
			form.phoneprefix.focus();
			form.phoneprefix.select();
			return false;	
		}else if ( form.phoneprefix.value.length  !=3 ){
			msg += upperLine;
			msg += "Your phone prefix code must be 3 numeric characters.\n";
			msg += lowerLine;
			alert (msg);
			form.phoneprefix.focus();
			form.phoneprefix.select();
			return false;
		}
		
		if (isNaN(form.phonesuffix.value) == true) {
			msg += upperLine;
			msg += "Your phone number contains non-numeric values.\nPlease reenter your phone number using only numbers.\n";
			msg += lowerLine;
			alert (msg);
			form.phonesuffix.focus();
			form.phonesuffix.select();
			return false;	
		}else if ( form.phonesuffix.value.length  !=4 ){
			msg += upperLine;
			msg += "Your phone suffix code must be 4 numeric characters.\n";
			msg += lowerLine;
			alert (msg);
			form.phonesuffix.focus();
			form.phonesuffix.select();
			return false;
		}			
		
		if (pageAction == "enroll"){
			if (!sendOrder(form)) {
				return false;
			}
		}
	}

	return true;

}