<!--
function EmailCheck (emailStr)
{
  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 (matchArray==null)
  {
     /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
    alert("Email address seems incorrect (check @ and .'s)");
    return (false);
  }

  var user=matchArray[1];
  var domain=matchArray[2];

  if (user.match(userPat)==null)
  {
    // user is not valid
    alert("The username doesn't seem to be valid.");
    return (false);
  }

  var IPArray=domain.match(ipDomainPat)
  if (IPArray!=null)
  {
    for (var i=1;i<=4;i++)
    {
      if (IPArray[i]>255)
      {
        alert("Destination IP address is invalid!");
        return (false);
      }
    }
    return (true);
  }

  var domainArray=domain.match(domainPat);
  if (domainArray==null)
  {
    alert("The domain name doesn't seem to be valid.");
    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("The address must end in a three-letter domain, or two letter country.");
    return (false);
  }
  if (len<2)
  {
    alert("This address is missing a hostname!");
    return (false);
  }
  return (true);
}

function checkTelephone(theTextBox)
{
  var checkOK = "0123456789-()/ \t\r\n";
  var checkStr = theTextBox.value;
  var allValid = true;
  var teleReg = /^\d*\(?\d+\)?\s?\d+\-?\d+$/;
  var kurungMatch = /\(\d+\)/;
  var kurungMatch2 = /\(\d+\)\s+/;
  var kurungReg = /\(|\)/;

  var i;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the this field.");
    theTextBox.focus();
    return (false);
  }
  if (!teleReg.exec(checkStr))
  {
        alert("Telephone Number format is not Correct");
        theTextBox.focus();
        return (false);
  }
  if (kurungReg.exec(checkStr))
  {
        if (!kurungMatch.exec(checkStr))
        {
                alert("Telephone Number format is not Correct");
                theTextBox.focus();
                return (false);
        }
        else
        {
                if (!kurungMatch2.exec(checkStr))
                {
                        alert("Telephone Number format is not Correct ");
                        theTextBox.focus();
                        return (false);
                }
        }

 }
 return (true);
}

function Form_Validator(theForm)
{
  if (theForm.name.value == "")
  {
    alert("Please enter a value for the \"Name\" field.");
    theForm.name.focus();
    return (false);
  }
  if (theForm.telephone.value != '')
  {
    s = checkTelephone(theForm.telephone);
    if (!s) return (false);
  }
  if (theForm.fax.value != '')
  {
    s = checkTelephone(theForm.fax);
    if (!s) return (false);
  }
  if (!EmailCheck(theForm.email.value))
  {
    theForm.email.focus();
    return (false);
  }
  if (theForm.ctelephone.value != '')
  {
    s = checkTelephone(theForm.ctelephone);
    if (!s) return (false);
  }
  if (theForm.cemail.value.length != '')
  {
    if (!EmailCheck(theForm.cemail.value))
    {
      theForm.cemail.focus();
      return (false);
    }
  }
  return true;
}

//-->
