			function GetEmailField()
			{
				var myEmail;
				mySpot = document.getElementById('Text2');
				myEmail = mySpot.value;
				if (CheckForSpam(myEmail) == false)
				{
					myforward = document.getElementById('Hidden2');
					myform = document.getElementById('SafLeadForm');
					//pull the session_id
					var mysession = document.getElementById('session_id');
					// append it to the myform.action 
        				myform.action = myforward.value + "z=" + mysession.value;
				}
			}

			//returns true if the email address is valid
			function CheckForSpam(myEmail)
			{
    				var bRetVal = false;
    				if (myEmail == '')
    				{
        				//blank email addresses are ok
        				bRetVal = true;
    				}
    					else if (CheckForValidEmail(myEmail) == true)
    				{
        				//alert(myEmail + " validly formed email address");
        				if (CheckTier1Spams(myEmail) == true)
					{
					}
					else if (CheckTier2Spams(myEmail) == true)
					{
					}
					else if (CheckTier3Spams(myEmail) == true)
					{
					}
					else if (CheckTier4Spams(myEmail) == true)
					{
					}
					else if (CheckTier5Spams(myEmail) == true)
					{
					}
					else if (CheckTier6Spams(myEmail) == true)
					{
					}
					else
					{
						bRetVal = true;
					}
				}
				return bRetVal;
			}

			function CheckForValidEmail(myEmail)
			{
				var bRetVal = true;
				var sRegexExpression = new RegExp("^.+@[^\.].*\\.[a-z]{2,}$");
				var bRetVal = sRegexExpression.test(myEmail);
				return bRetVal;

			}

			//returns true if the email is found in the set of rules (making it an invalid address)
			//old domains
			function CheckTier1Spams(myEmail)
			{
				var bRetVal;
				var sTemp = "@21box\\.com|@5xx\\.org|@852\\.net|@ac\\.com|@altavista\\.co\\.uk|@altavista\\.com|@altavista\\.de|@altavista\\.des|@altavista\\.fr|@angelfire|@attbi\\.com|@attbi\\.net|@beseen\\.com|@bigmailbox|@bn3|@box\\.com|@chickmail|@coolemail\\.net|@deadbolt\\.com|@devil\\.com|@digitalme\\.com|@dog\\.com|@enetdec\\.com|@eorders|@eurosport\\.com|@exciteukmail|@firstnethou\\.com|@fishinglife|@freemail\\.nl|@gamespot|@gateway\\.net|@geekmail\\.com|@guilmette\\.org|@highabove|@home\\.com|@hyperoffice\\.com|@ibm\\.net|@inbox\\.com|@internetmci\\.com|@internetmci\\.net|@ivillage|@jlmail|@jmail\\.co\\.jp|@joymail|@junglemate|@keftamail|@konzoo\\.coms|@law\\.com|@locos\\.com|@looksmart|@lovemail\\.com|@ltinet\\.com|@mailblocks|@mci\\.net|@mci2000\\.com|@mcimail\\.com|@media1st\\.com|@mediaone\\.net|@metagram\\.net|@metagram\\.org|@metagrams\\.net|@metagrams\\.org|@mollymail|@momslife\\.com|@monkeys\\.com|@myinboxplus\\.com|@mysun|@n2mail|@nameplanet\\.com|@netpen\\.net|@networkmci\\.com|@networkmci\\.net|@newfunandcool\\.com|@newmail\\.net|@paxemail\\.com|@pop3now|@postmark\\.net|@privatemail\\.com|@prodigy\\.com|@pumapost|@space\\.com|@start\\.com\\.au|@startrekmail\\.com|@stoned\\.com|@subdimension|@suite101email|@talkcity\\.com|@toast\\.com|@us\\.arthurandersen\\.com|@us\\.oracle\\.com|@us\\.pwcglobal\\.com|@uunetuu\\.net|@valise|@visto|@myvisto|@winuk\\.net|@worldmailer|@ziplip\\.com|@zkey";
				var sRegexExpression = new RegExp(sTemp);
				var bRetVal = sRegexExpression.test(myEmail);
				return bRetVal;
			}

			//returns true if the email is found in the set of rules (making it an invalid address)
			//spamtraps address
			function CheckTier2Spams(myEmail)
			{
				var bRetVal;
				var sTemp = "ag510@cleveland\\.freenet\\.edu|ariel@newsite\\.boxmail\\.com|ariel@tempest\\.boxmail\\.com|atossava@cc\\.helsinki\\.fi|bait_kwphone@aol\\.net|dave@eram\\.esi\\.com\\.au|dave@esi\\.com\\.au|dave@fgh\\.fgh\\.oz\\.au|dave@fgh\\.geac\\.com\\.au|dave@fgh\\.oz\\.au|dave@geac\\.com\\.au|dave@ips\\.oz\\.au|dave@vk2kfu\\.esi\\.com\\.au|dummy@dummies\\.com|hrweb@hrweb\\.org|info@reveal\\.org|jack@grondar\\.za|jane@grondar\\.za|jford@\\.*\\.ua\\.edu|me@privacy\\.net|mrsam@concentric\\.net|mrsam@email-scan\\.webcircle\\.com|mrsam@geocities\\.com|my@email\\.com|none@mail\\.com|paul@mail\\.com|radiopro@gte\\.net|reveal@reveal\\.org|sjsobol@nacs\\.net|sjsobol@seka\\.nacs\\.net|sp_m_skunker@hotmail\\.com|spamtrap@hrweb\\.org|spamtrap@spambouncer\\.org|terrrio@lewis\\.org|tosspam@aol\\.com|webmaster@hrweb\\.org|webmaster@reveal\\.org|xzm@hrweb\\.org|aol@aol\\.com|asdf@asdf\\.nl|bbankhead@oryx\\.com|bement@accnorwalk\\.com|dwortfarquhar@yahoo\\.com|gfy@bkbusa\\.com|hormboy@fw\\.merk\\.com|kiko@async\\.com\\.br|net-medier@lynxmedia\\.dk|notifyaol@scomp\\.mail\\.aol\\.com|novell2@nwsup\\.com|sfas-announce-list-request@sfas\\.org\\.sg|spamtrap@blars\\.org|vjs@rhyolite\\.com";
				var sRegexExpression = new RegExp(sTemp);
				var bRetVal = sRegexExpression.test(myEmail);
				return bRetVal;
			}

			//returns true if the email is found in the set of rules (making it an invalid address)
			//spamtrap domains
			function CheckTier3Spams(myEmail)
			{
				var bRetVal;
				var sTemp = "@asdf\\.nl|@cix\\.net|@cluestick\\.org|@comstar\\.com|@Connactivity\\.com|@cyberangels\\.nl|@deu\\.com|@dsl092-077-098\\.bos1\\.dsl\\.speakeasy\\.net|@dummies\\.com|@firstnethou\\.com|@gain-ny\\.com|@gulfgate\\.com|@inetica\\.com|@isux\\.com|@Mandarin\\.com|@mastipruds\\.org|@mcimail\\.com|@monkeys\\.com|@nanas\\.surriel\\.com|@obob\\.com|@otto\\.net|@poopypants\\.com|@projecthoneypot\\.org|@seebs\\.net|@smac\\.hensema\\.net|@spamtrap\\.rangers\\.eu\\.org|@tomorrowssolution\\.com|@trap\\.offshoreexecutive\\.com|@turnstep\\.|@web-cyat\\.com|@webrix\\.net|@yepes\\.com";
				var sRegexExpression = new RegExp(sTemp);
				var bRetVal = sRegexExpression.test(myEmail);
				return bRetVal;
			}

			//returns true if the email is found in the set of rules (making it an invalid address)
			//coerced addresses
			function CheckTier4Spams(myEmail)
			{
				var bRetVal;
				var sTemp = "@asd[asdfzx]*\\.|@asdf\\.|@domain\\.com|@example\\.(com|net|org)|@fuckoff\\.(com|org)|@joe\\.|@johndoe\\.|@mail\\.domain\\.com|@mypants\\.com|@no\\.com|@noemail\\.com|@please\\.com|@qwe[rty]*\\.|@qwer+\\.|@qwert+\\.|@qwerty+\\.|@thanks\\.com|@whitehouse\\.gov|@xx[asdfzx]*\\.|@xyz[xyzvc]*\\.|\weatme\w|^[lkjh]+@[lkjh]+\\.|^[zyx]+@|^\d+@\d+\\.|^\w@|^\w@\w\\.|^\w\w@\w\w\\.|^123@|^aa@|^aaa@|^abc@|^abcd@|^ads@|^asdf@|^bulk@|^qwe@|^qwer@|^qwert@|^qwerty@|^shit@|^spam@|^spamtrap@|^ubfi@|^xyz[xyzvc]*@|al@gore\\.com|asshole|bgates@msn\\.com|billg@microsoft\\.com|biteme@|bullshit|dick\\.com|fuck|google@google.net|kissmyass|no@way\\.|no_spam|nochance@|noemail@|nospam|notachance@|nothank@|nothanks@|notinterest|noway@|screwu@|screwyou@|sendnospam.org|shit\\.com|spambait@|suckme@|suckmy|upyours@|usuck@|yousuck\w";
				var sRegexExpression = new RegExp(sTemp);
				var bRetVal = sRegexExpression.test(myEmail);
				return bRetVal;
			}

			//returns true if the email is found in the set of rules (making it an invalid address)
			//roles
			function CheckTier5Spams(myEmail)
			{
				var bRetVal;
				var sTemp = "-owner@|-whois@|^abuse@|^admin@|^administrator@|^editor@|^feedback@|^ftp@|^helpdesk@|^hostmaster@|^hostmaster@|^info@|^listserv@|^listserver@|^mailerdaemon@|^marketing@|^news@|^newsletter@|^noc@|^noreply@|^ops@|^postmaster@|^privacy@|^sales@|^security@|^support@|^usenet@|^uucp@|^webmaster@|^www@|dns@|dnsadmin@|domainadmin@|domains@|listowner@|orders@*|root@|subscribe@";
				var sRegexExpression = new RegExp(sTemp);
				var bRetVal = sRegexExpression.test(myEmail);
				return bRetVal;
			}

			//returns true if the email is found in the set of rules (making it an invalid address)
			//typos
			function CheckTier6Spams(myEmail)
			{
				var bRetVal;
				var sTemp = "@aaol\\.com|@ao\\.com|@aol\\.coml|@comcast\\.com|@earlink\\.net|@gol\\.net|@hormail\\.com|@hotmai\\.com|@hotmial\\.com|@hoymail\\.com|@htomail\\.com|@msn\\.net|@yaho\\.com|@yaho\\.com|@yahoogroups\\.com|@yahoomail\\.com|@yaoo\\.com";
				var sRegexExpression = new RegExp(sTemp);
				var bRetVal = sRegexExpression.test(myEmail);
				return bRetVal;
			}

