/*****************************************************
file: checkform.js
date: 03July04
author: BobLewis
function: checks form data; prevents submission of 
          illegal email addresses such as:
          lewi@sbd@yahoo.com
          @lewisbd@yahoo.com
          lewisbdyahoo.com@
          .lewisbd@yahoo.com
          lewisbd@yahoo.com.
          lewisbd@yahoo..com
          lewisbd.@yahoo.com
          lewisbd@.yahoo.com
          lewisbdyahoo.com
          lewisbd@yahoocom
******************************************************/

function check_form()
{
var FirstName = document.all.FirstName;
var LastName = document.all.LastName;
var EMail = document.all.EMail;

var firstLen = FirstName.value.length;
var lastLen = LastName.value.length;
var emailLen = EMail.value.length;
var firstFlag = 0;
var lastFlag = 0;
var emailFlag = 0;

var atOK = 0;
var dotOK = 0;
var posAT = 0;
var numAT = 0;
var posDot = 0;
var domPos = EMail.value.indexOf("@");
var domStr = EMail.value.substr(domPos+1,(emailLen-domPos));
var domLen = domStr.length;
var blankPos = EMail.value.indexOf(" ")

for(i=0; i<firstLen; i++)
	{
	if(FirstName.value.charCodeAt(i) > 32) //if contains chars other than spaces
		firstFlag = 1;
	}
for(i=0; i<lastLen; i++)
	{
	if(LastName.value.charCodeAt(i) > 32)
		lastFlag = 1;
	}

//for(i=0; i<emailLen; i++)
//	{
//	if(EMail.value.charCodeAt(i) > 32)
//		{
//		emailFlag = 1;
//		}
//	}

if(blankPos >= 0)
	{
	emailFlag = 0;
	}
else
	{
	emailFlag = 1;
	}

for(i=0; i<emailLen; i++)
	{
	if(EMail.value.charAt(i) == "@")
		{
		numAT++;
		posAT = i; //position in the string of '@'
		if(posAT == 0 || EMail.value.charAt(posAT-1) == ".")
		  {
		  atOK = 0;
		  }
		else
		  {
		  atOK = 1;
		  }
		}
	}

for(i=0; i<domLen; i++)
	{
	if(domStr.charAt(i) == ".")
		{
		posDot = i;
		if(posDot == 0)
			{
			dotOK = 0;
			break;
			}
		if(posDot == (domLen-1))
			{
			dotOK = 0;
			break;
			}
		if(domStr.charAt(i-1) == ".")
			{
			dotOK = 0;
			break;
			}
		else
			{
			dotOK = 1;
			}
		}
	}

if(firstFlag == 0) //zero means empty or only blank spaces
	{
	alert("Please enter your first name or initial.")
	FirstName.value = "";
	FirstName.focus();
	}

if(lastFlag == 0)
	{
	alert("Please enter your last name or initial.")
	LastName.value = "";
	LastName.focus();
	}

if(emailFlag == 0 || atOK == 0 || dotOK == 0 || numAT != 1 || EMail.value.charAt(0) == ".")
	{
	alert("Please enter a valid email address.")
	EMail.select();
	EMail.focus();
	}
else
	document.frmThis.submit();
}

