function ltrim(s) { return s.replace( /^\s*/, "" ); }
function rtrim(s) { return s.replace( /\s*$/, "" ); } 
function trim(s)  { return rtrim(ltrim(s)); }  
function emailCheck(seml) {
 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=seml.match(emailPat)
 var msg = "The form cannot be processed because\n";
 if (matchArray==null) {
	alert(msg + "the email address is invalid.");
	return false;
 }
 var user=matchArray[1];
 var domain=matchArray[2];
 if (user.match(userPat)==null) {
	alert(msg + "the email address is invalid.");
	return false;
 }
 var IPArray=domain.match(ipDomainPat);
 if (IPArray!=null) {
	for (var i=1;i<=4;i++) { if (IPArray[i]>255) {
	 alert(msg + "the email address is invalid.");
	 return false; }
	}
	return true;
 }
 var domainArray=domain.match(domainPat);
 if (domainArray==null) {
	alert(msg + "the email address is invalid.\n");
	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(msg + "the email address is invalid.");
	return false;
 }
 if (len<2) {
	alert(msg + "the email address is invalid.");
	return false;
 }
 return true;
}
function checkValues(fmode) {
	var nu = trim(document.newsletter.elements["FirstName"].value);
	var ta = trim(document.newsletter.elements["country"].value);
	var em = trim(document.newsletter.elements["Email"].value);


 
	var ret = "The newsellter form cannot be processed because there are required fields which are not filed:\n\n";
	var cnt = 0;
	var sel = 0;
	
	if (fmode==1) {


 
	
	
	 
	if (nu == "") {
	 ret = ret + "- Please provide your name.\n";
	 if (sel != 1) document.newsletter.elements["FirstName"].focus(); sel = 1;
	 if (isIE){document.newsletter.elements["FirstName"].style.background="#CC9999";}
	} else {
	 cnt = cnt + 1;
	 if (isIE){document.newsletter.elements["FirstName"].style.background="#ebebeb";}
	}
 
	

	if (ta == "gol") {
	 ret = ret + "- Please provide your country.\n";
	 if (sel != 1) document.newsletter.elements["country"].focus(); sel = 1;
	 if (isIE){document.newsletter.elements["country"].style.background="#CC9999";} 
	} else {
	 cnt = cnt + 1;
	 if (isIE){document.newsletter.elements["country"].style.background="#ebebeb";}
	}
	
	if (em  == "") {
	 ret = ret + "- Please provide your e-mail address.\n";
	 if (sel != 1) document.newsletter.elements["Email"].focus(); sel = 1;
	 if (isIE){document.newsletter.elements["Email"].style.background="#CC9999";} 
	} else { 
	 if (emailCheck(em)) { 
	  cnt = cnt + 1;
	  if (isIE){document.newsletter.elements["Email"].style.background="#ebebeb";} 
	 } else { 
	   document.newsletter.elements["Email"].focus(); sel = 1; cnt = 5;
	   if (isIE){document.newsletter.elements["Email"].style.background="#CC9999";}		
	 }
	}

	if (cnt < 3) {
	 alert(ret); 	 
	 return false;
	} else { 
	 if (cnt == 3) { return true; } else { return false; }}
	}
}