

function ValidateEmail(oElement,sMessage){
	var emailStr = oElement.value;

	var emailPat = /^(.+)@(.+)$/
	// disallow special chars: ( ) < > @ , ; : \ " . [ ]    */
	var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars = "\[^\\s" + specialChars + "\]"
	var firstChars = validChars   
	var quotedUser = "(\"[^\"]*\")"
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom= "(" + firstChars + validChars + "*" + ")"
	var word= "(" + atom + "|" + quotedUser + ")"
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray = emailStr.match(emailPat)
	
	if (matchArray == null) {
		alert(sMessage);
		//alert("Email address seems incorrect (check @ and .'s)");
		oElement.focus();
		return false;
	}
	var user = matchArray[1]
	var domain = matchArray[2]
	if (user.match(userPat) == null) {
		alert(sMessage);
		//alert("The username doesn't seem to be valid.");
		oElement.focus();
	    return false;
	}
	
	var IPArray = domain.match(ipDomainPat)
	if (IPArray != null) {
		for (var i = 1; i <= 4; i++) {
			if (IPArray[i] > 255) {
				alert(sMessage);
				//alert("Destination IP address is invalid!");
				oElement.focus();
				return false;
			}
		}
		return true;
	}

	var domainArray = domain.match(domainPat)
	if (domainArray == null) {
		alert(sMessage);
		//alert("The domain name doesn't seem to be valid.");
		oElement.focus();
		return false;
	}
   
	var atomPat = new RegExp(atom,"g")
	var domArr = domain.match(atomPat)
	var len = domArr.length
	if (domArr[domArr.length - 1].length < 2 || domArr[domArr.length - 1].length > 3) {
		alert(sMessage);
		//alert("The address must end in a three-letter domain, or two letter country.");
		oElement.focus();
		return false;
	}

	if (domArr[domArr.length - 1].length == 3 && len < 2) {
		alert(sMessage);
		//alert("This address is missing a hostname!")
		oElement.focus();
		return false;
	}
	return true;
}


function Unsubscribe(sMessage){
	if( ValidateEmail(document.TheForm.pf_Email, sMessage) == true ){
		var oButton = document.getElementById("UnsubmitButton")
		// Change name on submit button to enable opt-out.
		oButton.name = "UnSubmit";
		document.TheForm.submit();
	}
}



