number  ='1234567890';
alphabet='abcdefghijklmnopqrstuvwxyz';
ALPHABET='ABCDEFGHIJKLMNOPQRSTUVWXYZ';

// 構成文字チェック関数
function charCheck(str,chars){
  // str    : チェックする文字列
  // chars  : 構成する文字列
  // 戻り値 : true  = 不当な文字列がある
  //          false = 全て指定された文字列で構成されている
  for(var i=0; i<str.length; i++){
    if(chars.indexOf(str.charAt(i))==-1) return true;
  }
  return false;
}

// メールアドレスチェック関数
mailusr   =number+alphabet+ALPHABET+'_-+.';
maildomain=number+alphabet+ALPHABET+'_-+.';
function checkMailAddr(val,force){
  // val    : チェックする文字列
  // force  : 必須項目のとき true
  // 戻り値 : true  = 不当な文字列がある
  //          false = 全て指定された文字列で構成されている
  if(val=='') return force;
  var p;
  if((p=val.indexOf('@'))==-1)     return true;
  var user=val.substring(0,p),domain=val.substring(p+1);
  if(user=='' || domain=='')       return true;
  if(charCheck(user,mailusr))      return true;
  if(charCheck(domain,maildomain)) return true;
  return false;
}

// 送信データチェック関数
function submitCheck(form){
  // form : FORM オブジェクト
  // 戻り値 : true = OK, false = NG
  var obj=null, errmsg='';
  var num;

  // 必須項目の有無チェック
  if(form.n1.value==''){
    obj=form.n1;
    errmsg='メールアドレスを入力してください';
  }
  else if(form.n3.value==''){
      obj=form.n3;
      errmsg='犬のお名前を入力してください';
  }
  // 入力形式のチェック
  else if(checkMailAddr(form.n1.value,true)){
    obj=form.n1;
    errmsg='メールアドレスが間違っています:' + form.n1.value;
  }

  // エラー検出時の処理
  if(obj){
    alert(errmsg);
    obj.focus();
    return false;
  }
  return true;
}
