// PYO Newsletter form code

var message;
var fieldtofocus;
var passed;
var repeatflag = false;

function isMailReady() {
	if (repeatflag == true)  {
		passed = false;
	}	
	
	passed = true;  
	fieldtofocus = "";
	message ="Please review: \n";
	
	if (document.emailform.First_Name.value == "") {
		message += "- - First Name \n"; 
		passed = false;
		if (fieldtofocus == "")  {fieldtofocus = document.emailform.First_Name};
	}
	else {
		var element = document.emailform.First_Name;
		var result = isAllLetters(element);
		if (result)  {
			message += "- - First Name must only contain letters \n";
			passed = false;
			if (fieldtofocus == "")  {fieldtofocus = document.emailform.First_Name};
		}
	}
	
	if (document.emailform.Last_Name.value == "") {
		message += "- - Last Name \n"; 
		passed = false;
		if (fieldtofocus == "")  {fieldtofocus = document.emailform.Last_Name};
	}
	else {
		var element = document.emailform.Last_Name;
		var result = isAllLetters(element);
		if (result)  {
			message += "- - Last Name must only contain letters \n";
			passed = false;
			if (fieldtofocus == "")  {fieldtofocus = document.emailform.Last_Name};
		}
	}
	
	if (document.emailform.Address_Line_1.value == "") {
		message += "- - Address \n"; 
		passed = false;
		if (fieldtofocus == "")  {fieldtofocus = document.emailform.Address_Line_1};
	}
	
	if (document.emailform.City.value == "") {
		message += "- - City \n"; 
		passed = false;
		if (fieldtofocus == "")  {fieldtofocus = document.emailform.City};
	}
	
	if (document.emailform.State.value == "") {
		message += "- - State \n"; 
		passed = false;
		if (fieldtofocus == "")  {fieldtofocus = document.emailform.State};
	}
	
	var element = document.emailform.Email_Address;
	var result = isEmail(element);
	if (result)  {
		passed = false;
		if (fieldtofocus == "")  {fieldtofocus = document.emailform.Email_Address};
	}
	
	if (document.emailform.Postal_Code.value.length < 5) {
    	message += "- - Zip needs at least 5 characters \n";
		passed = false;
		if (fieldtofocus == "")  {fieldtofocus = document.emailform.Postal_Code};
	}	
	
	/* To prevent multiple clicks and record creation, force a flag
	to be true. It will only be reset upon the page being reloaded.
	Thus, it will hold off multiple clicks until the handler page is processed.  */
	if (passed == true)  {
		if (repeatflag == false) {
			document.emailform.submit();
			repeatflag = true;
		}
	}

	if (passed == false)  {
		alert(message);
		fieldtofocus.focus();
	}
}	


// Do some validation on the Email side of things
function isEmail(element)  {
	var inputStr = element.value;
	if (inputStr.length < 9)  {
		message += "- - Email should be at least 9 characters \n";
		return true;
	}	
	var charA = inputStr.indexOf("@");
	if (charA == -1)  {
		message += "- - Email did not find the @ character \n";
		return true;
	}
	if (charA < 2 )  {
		message += "- - Email expected at least 2 characters before the @ character \n";
		return true;
	}
	var charP = inputStr.lastIndexOf(".");
	if (charP == -1)  {
		message += "- - Email expected to find the . character \n";
		return true;
	}
	if (charP != inputStr.length - 3 && charP != inputStr.length - 4)  {
		message += "- - Email ending . character not in correct position \n";
		return true;
	}
	if (charP < charA + 3)  {
		message += "- - Email should have at least 2 characters between the @ and . characters \n";
		return true;
	}
	return false;
}

// Checks to see if the text string is only numbers
function isNumber(element)  {
	var oneChar;
	var inputStr = element.value;
	for (var i = 0; i < inputStr.length; i++)  {
		oneChar = inputStr.charAt(i);
		if (oneChar < "0" || oneChar > "9") {
			return true;
		}
	}
	return false;
}

// Checks to see if the text string is only letters
function isAllLetters(element)  {
	var oneChar, valString, charA, letterOk;
	var inputStr = element.value;
	valString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz- ";
	for (var i = 0;  i < inputStr.length;  i++)  {
    	oneChar = inputStr.charAt(i);
		
		letterOk = false
    	for (var j = 0;  j < valString.length;  j++)  {
			charA = valString.indexOf(oneChar);
      		if (charA != -1)  {
        		letterOk = true;
				break;
			}
  		}
			//alert(oneChar + "  " + letterOk);
		if (letterOk == false)  {
			return true;
		}
	}
	return false
}