
function validEmail(formField, msg, required)
{
	var result = true;
	
	if (required && !validRequired(formField, msg))
		result = false;

	if (result && ((formField.value.length < 3) || !emailCheck(formField.value)) )
	{
		//alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
   
  return result;

}

function emailCheck (emailStr) {
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=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("Email address seems incorrect (check @ and .'s)");
	return false;
}
var user=matchArray[1];
var domain=matchArray[2];
if (user.match(userPat)==null) {
    alert("The username doesn't seem to be valid.");
    return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Destination IP address is invalid.");
		return false;
	    }
    }
    return true;
}
var domainArray=domain.match(domainPat);
if (domainArray==null) {
	alert("The domain name doesn't seem to be valid.");
    return false;
}
var atomPat=new RegExp(atom,"g");
var domArr=domain.match(atomPat);
var len=domArr.length;
if ((domArr[domArr.length-1] != "info") &&
	(domArr[domArr.length-1] != "name") &&
	(domArr[domArr.length-1] != "arpa") &&
	(domArr[domArr.length-1] != "coop") &&
	(domArr[domArr.length-1] != "aero")) {
		if (domArr[domArr.length-1].length<2 || 
	    	domArr[domArr.length-1].length>3) {
		   		alert("The address must end in a three-letter domain, or two letter country.");
		   		return false;
		}
}
if (len<2) {
   var errStr="This address is missing a hostname.";
   alert(errStr);
   return false;
}
return true;
}

function validRequired(formField, msg)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please ' + msg +'.');
		formField.focus();
		result = false;
	}
	
	return result;
}


function UPTvalidateform(theForm)
{
	// Customize these calls for the form

	// Start ------->
		
	if (!validEmail(theForm.email,"enter your email address",true))
		return false;
		
	if (!validRequired(theForm.val_34680, "enter your zip/postal code",true))
		return false;						

	// <--------- End
	alert('Thank you for signing up for our newsletter!');
	openwin("Contact.asp", 450, 400, true);
	return true;
}


function openwin(url,w,h,allowresize)
{
	if(!w)
		w = 450;
	
	if(!h)
		h = 350;			
		
	if(allowresize!=0)
		allowresize=1;
			
	var params = "width=" + w + ",height=" + h + ",resizable="+allowresize+",menubar=0,status=0,scrollbars=1";

	popupwin = window.open(url,"popupwin",params);
	popupwin.focus();
}