function emailCheck ()
{
  objEmail= document.demo.txtEmail
  emailStr= objEmail.value

  var checkTLD=0;
  var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
  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(emailStr == "")
   {
    alert ( "The [ Email ] field is empty!\nPlease go back and enter your contact Email.\n\nThank you!" );
    return false;
   }
  if (matchArray==null)
    {
     alert("The Email Address Is Invalid");
     return false;
    }
  var user=matchArray[1];
  var domain=matchArray[2];
  for (i=0; i<user.length; i++)
    {
     if (user.charCodeAt(i)>127)
       {
        alert("The Username Contains Invalid Characters.");
        return false;
       }
    }
  for (i=0; i<domain.length; i++)
    {
     if (domain.charCodeAt(i)>127)
       {
        alert("Ths Domain Name Contains Invalid Characters.");
        return false;
       }
    }
  if (user.match(userPat)==null)
    {
     alert("The Username Is Invalid.");
     return false;
    }
  var IPArray=domain.match(ipDomainPat);
  if (IPArray!=null)
    {
     for (var i=1;i<=4;i++)
       {
        if (IPArray[i]>255)
          {
           alert("The Destination IP Address Is Invalid.");
           return false;
          }
       }
     return true;
    }
  var atomPat=new RegExp("^" + atom + "$");
  var domArr=domain.split(".");
  var len=domArr.length;
  for (i=0;i<len;i++)
    {
     if (domArr[i].search(atomPat)==-1)
       {
        alert("The Domain Name Is Invalid.");
        return false;
       }
    }
  if (checkTLD && domArr[domArr.length-1].length!=2 &&
      domArr[domArr.length-1].search(knownDomsPat)==-1)
    {
     alert("The Domain Name Extension Is Invalid");
     return false;
    }
  if (len<2)
    {
     alert("The Address Is Missing A Hostname.");
     return false;
    }
 return true;
}


function DoSubmit()
{
  if (document.demo.AMT.value == "")
    {
     alert('The [ Amount of Gift ] field is empty!\nPlease go back and enter your Amount of Gift.\n\nThank you! ')
     document.demo.AMT.focus();
     return false;
    }
  if (document.demo.txtFN.value == "")
    {
     alert('The [ First Name ] field is empty!\nPlease go back and enter your First Name.\n\nThank you! ')
     document.demo.txtFN.focus();
     return false;
    }
  if (document.demo.txtLN.value == "")
    {
     alert('The [ Last Name ] field is empty!\nPlease go back and enter your Last Name.\n\nThank you! ')
     document.demo.txtLN.focus();
     return false;
    }
  if (document.demo.txtHome1.value == "")
    {
     alert('The [ Home Address ] field is empty!\nPlease go back and enter your City.\n\nThank you! ')
     document.demo.txtHome1.focus();
     return false;
    }
  if (document.demo.txtCity.value == "")
    {
     alert('The [ City ] field is empty!\nPlease go back and enter your City.\n\nThank you! ')
     document.demo.txtCity.focus();
     return false;
    }
  if (document.demo.txtState.value == "")
    {
     alert('The [ State ] field is empty!\nPlease go back and enter your State.\n\nThank you! ')
     document.demo.txtState.focus();
     return false;
    }
  if (document.demo.txtZip.value == "")
    {
     alert('The [ Zip Code ] field is empty!\nPlease go back and enter your Zip Code.\n\nThank you! ')
     document.demo.txtZip.focus();
     return false;
    }
  if (document.demo.txtDPhone.value == "")
    {
     alert('The [ Telephone ] field is empty!\nPlease go back and enter your contact Telephone Number.\n\nThank you! ')
     document.demo.txtDPhone.focus();
     return false;
    }
  if (!emailCheck())
    {
     document.demo.txtEmail.focus();
     return false;
    }
   }