//electroscripts.js
//Donald Wright
//Sept 20, 2003

function validateContactForm(){
  //check for required entry in first name textbox
	if(document.contactform.firstname.value.length==0){
    alert('You must enter a first name');
    document.contactform.firstname.focus();
    return false;
  }
   
  //check for required entry in last name textbox
	if(document.contactform.lastname.value.length == 0){
    alert('You must enter a last name');
    document.contactform.lastname.focus();
    return false;
  }
  
  //check for valid email address entry in email textbox	
	if(!validateEmail(document.contactform.email.value)){
		alert('Please enter a valid email address');
		document.contactform.email.value = '';
		document.contactform.email.focus();
		return false;
	}	
    
  return true;
    
}//end validateContactForm()

//---------------------------------------------------------------------------

function validateEmail(inStr)
{
  //check for empty string
	if((inStr.length==0)||(inStr.indexOf('@')==-1)||(inStr.indexOf('.')==-1))
  {
    return false;
  }

  //break up email string into name, domain, and top-level domain
	var array1=inStr.split('@');
  var array2=array1[1].split('.');
  var substr1=array1[0];

  var numOfBlocks=array2.length;
  var badChars="*|,\":<>[]{}`\';()&$#%";

  //check domain, top-level domain for number of characters and illegal characters
	switch(numOfBlocks)
  {
    case 2: var substr2=array2[0];
            var substr3=array2[1];

            if((substr3.length<2)||(substr3.length>3))
               return false;

            for(var i=0;i<badChars.length;i++)
            {
              if((substr1.indexOf(badChars.charAt(i))>0) || (substr2.indexOf(badChars.charAt(i))>0) || (substr3.indexOf(badChars.charAt(i))>0))
              {
                return false;
              }
            }
            break;

    case 3: var substr2=array2[0];
            var substr3=array2[1];
            var substr4=array2[2];

            if((substr4.length<2)||(substr4.length>3))
            {
              return false;
            }

            for(var i=0;i<badChars.length;i++)
            {
              if((substr1.indexOf(badChars.charAt(i))>0) || (substr2.indexOf(badChars.charAt(i))>0) || (substr3.indexOf(badChars.charAt(i))>0) || (substr4.indexOf(badChars.charAt(i))>0))
              {
                return false;
              }
            }

  }//end switch

  return true;

}//end validateEmail()

//---------------------------------------------------------------------------------
