// 空白チェック
function checkNull(obj,msg){
  if(obj.value==''){
    alert(msg+'の入力は必須です');
    obj.focus();
    return false;
  }
  return true;
}
// 数字列のチェック
function checkNumber(num){
  for(var i=0;i<num.length;i++){
    if(isNaN(parseInt(num.charAt(i),10))) return 0;
  }
  if(parseInt(num,10)<=0) return 0;
  return num.length;
}
// フォーマットエラーメッセージ
function alertMsg(msg,obj){
    alert(msg+'の形式が間違っています');
    obj.focus();
}
// 郵便番号チェック
function checkZipCode(obj,retnull){
  var retval=true;
  var value=obj.value;
  if (value=='') retval=retnull; // 無入力時
  else {
    var del=value.indexOf('-');
    if (del==-1)
      retval=(value.length==3?(checkNumber(value)>0):false);
    else if (del!=3 || (value.length-del)!=5)
      retval=false;
    else if (checkNumber(value.substring(0,del))==0 ||
             checkNumber(value.substring(del+1,value.length))==0){
      retval=false;
    }
  }
  if(retval==false) alertMsg('郵便番号',obj);
  return retval;
}
// メールアドレスチェック
function checkEMail(obj,retnull){
  var retval=true;
  var value =obj.value;
  if (value=='') retval=retnull;
  else {
    var del=value.indexOf('@');
    retval = (del>0 && (value.length-del)>1
           && value.substring(del+1).indexOf('@')==-1);
  }
  if(retval==false)
    alertMsg('E-Mailアドレス',obj);
  return retval;
}
// 電話番号チェック
function checkTel(obj,retnull){
  var retval=true;
  var value =obj.value;
  if (value=='') retval=retnull;
  else {
    var st=0,del=value.indexOf('-'),s1=0,s2=0,s3=0;
    if(del<=st) retval=false;
    else if ((s1=checkNumber(value.substring(st,del)))==0)
      retval=false;
    else {
      st=del+1; del=value.indexOf('-',st);
      if(del<=st || del==(value.length-1)) retval=false;
      else if ((s2=checkNumber(value.substring(st,del)))==0 ||
               (s3=checkNumber(value.substring(del+1,value.length)))==0)
        retval=false;
    }
    if(retval && (s1+s2+s3)!=10) retval=false;
  }
  if (retval==false)
    alertMsg('連絡先電話番号',obj);
  return retval;
}
function checkDummy(obj){
  var txt = obj.value;
  if(txt!='') obj.value+=' = '+escape(txt);
}
function totalCheck(card){
	//必須
  if(!checkNull(card.rname,    'お名前'))   return false;
  if(!checkNull(card.mail,     'メールアドレス'))   return false;
  if(!checkNull(card.tel,     'お電話番号'))   return false;
  if(!checkEMail(card.mail,     false ))   return false;//形式チェック
  return true;
}

