// mailfunc.js

//E-mailアドレスのチェック mode:0 →alert出さない →1:alert出す
function CheckEmailAddr(addr,mode)
{
if ((addr == null) || addr == "") {
if (mode) {
alert("メールアドレスを指定してください。");
}
return false;
}

// RFC822に沿っている(つもり)
if (addr.match(/[^\x21-\x7E]/) ||
addr.match(/[\(\)<>,;:\\"\[\]]/) ||
        !addr.match(/^[^@]+@[^@]+$/)) {
        if (mode) {
    alert("メールアドレスとして不適当なものが指定されています。");
        }
return false;
    }
    return true;
}

//E-mailアドレスのチェック mode:0 →alert出さない →1:alert出す
function CheckNotMobileAddr(addr,mode)
{
   if (addr.match(/@docomo\.ne\.jp$/) ||
addr.match(/@cmchuo\.nttpnet\.ne\.jp$/) ||
addr.match(/@em\.nttpnet\.ne\.jp$/) ||
addr.match(/@email\.sky\.tdp\.ne\.jp$/) ||
addr.match(/@jp\-[dhtrcksnq]\.ne\.jp$/) ||
addr.match(/[@\.]ezweb\.ne\.jp$/) ||
addr.match(/[@\.]sky\.tu\-ka\.ne\.jp$/) ||
addr.match(/[@\.]sky\.tk[kc]\.ne\.jp$/) ||
addr.match(/@cara\.tu\-ka\.ne\.jp$/) ||
addr.match(/[@\.]ezweb\.ne\.jp$/) ||
addr.match(/\.ido\.ne\.jp$/) ||
addr.match(/\.vodafone\.ne\.jp$/) ||
addr.match(/@cmail\.ido\.ne\.jp$/) ||
addr.match(/@dct\.dion\.ne\.jp$/) ||
addr.match(/@[thkcsqo]ct\.dion\.ne\.jp$/) ||
addr.match(/[@\.]pdx\.ne\.jp$/) ||
addr.match(/@phone\.ne\.jp$/) ||
addr.match(/\.mozio\.ne\.jp$/)) {
if (mode) {
alert("携帯電話のメールアドレスは登録できません。");
}
return false;
}
return true;
}

function CheckInput(a)
{
  // 「登録」または「解除」のとき
  if (a.name == "frmIn" || a.name == "frmOut")
  {
    // メールアドレスのチェック
    if(false==CheckEmailAddr(a.MMADDRESS.value, 1)
    || false==CheckNotMobileAddr(a.MMADDRESS.value, 1))
    {
      return false;
    }
    // 入力内容の確認
    return (confirm("メールアドレス: " + a.MMADDRESS.value + "\n\nでよろしいですか？"));
  }
  // 「変更」のとき
  if (a.name == "frmChg")
  { 
    // 1個目のメールアドレスのチェック
    if(false==CheckEmailAddr(a.MMADDRESS.value, 1)
    || false==CheckNotMobileAddr(a.MMADDRESS.value, 1))
    {
      return false;
    }
    // 2個目のメールアドレスのチェック
    else if(false==CheckEmailAddr(a.MMNEWADDRESS.value, 1)
         || false==CheckNotMobileAddr(a.MMNEWADDRESS.value, 1))
    {
      return false;
    }
    // 入力内容の確認
    return (confirm(
      "変更前: " + a.MMADDRESS.value + "\n" +
      "変更後: " + a.MMNEWADDRESS.value + "\n\nでよろしいですか？"));
  }
}
