//
//###
//###    全角を半角にする
function toSm(chkstr){
  var ZenByte = "あ".length;
  var zenkaku = "０１２３４５６７８９．ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚー−＠／＿：";
  var hankaku = "0123456789.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz--@/_:";
  for(cnt=0;cnt<=hankaku.length-1;cnt++){
  chktarget = zenkaku.substring(cnt*ZenByte,cnt*ZenByte+ZenByte);
  while(chkstr.indexOf(chktarget) >= 0){
    chkstr = chkstr.substring(0,chkstr.indexOf(chktarget)) + hankaku.charAt(cnt)
      + chkstr.substring(chkstr.indexOf(chktarget)    + ZenByte,chkstr.length);
  }
  }
  return chkstr;
}
//###
//###  Title  : lenStr
//###  Content: 文字の長さを計る(全角は2文字)
//###  Input  : st/長さの不明な文字列
//###  Output : rtnNum/文字数
function lenStr(st) {
  var rtnNum = 0;
  for (i = 0; i < st.value.length; i++) {
  if ( escape(st.value.charAt(i)).length >= 4 ) { rtnNum += 2; }
  else                                          { rtnNum++;    }
  }
  return (rtnNum);
}
//###
//###  Title  : isA
//###  Content: 半角英数字のみかチェックする。(file)
//###  Input  : チェックする文字列
//###  Output : false/半角英数以外の文字が含まれている true/半角英数のみである
function isA(nmstr) {
  var ZenByte = "a".length;
  var OkMoji = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_@";
  var cnt;
  for(cnt=0;cnt<nmstr.length; cnt++){
  itc=nmstr.substring(cnt*ZenByte,cnt*ZenByte+ZenByte);
  if(OkMoji.indexOf(itc,0)==-1){
    return false;
  }
  }
  return true;
}
//###
//###  半角数字のみかチェックする。
function isN(nmstr) {
  var ZenByte = "a".length;
  var OkMoji = "0123456789-";
  var cnt;
  for(cnt=0;cnt<nmstr.length; cnt++){
  itc=nmstr.substring(cnt*ZenByte,cnt*ZenByte+ZenByte);
  if(OkMoji.indexOf(itc,0)==-1){
    return false;
    }
  }
  return true;
}
//###
//###  Title  : isK
//###  Content: 半角カナが含まれているかチェックする。
//###  Input  : チェックする文字列
//###  Output : false/半角カナが含まれていない true/半角カナが含まれている
function isK(nmstr) {
  var ZenByte = "ｱ".length;
  var OkMoji = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾜﾗﾘﾙﾚﾛｦﾝｧｨｩｪｫｬｭｮｯﾟﾞ";
  var cnt;
  for(cnt=0;cnt<nmstr.length; cnt++){
    itc=nmstr.substring(cnt*ZenByte,cnt*ZenByte+ZenByte);
    if(OkMoji.indexOf(itc,0) > -1 ){
      return true;
    }
  }
  return false;
}
//###
//###  Title  : isURL
//###  Content: URL可能文字かチェックする。
//###  Input  : チェックする文字列
//###  Output : false/ＵＲＬ可能文字以外の文字が含まれている true/ＵＲＬ可能文字である
function isURL(nmstr) {
  var ZenByte = "a".length;
  var OkMoji = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_:/";
  var cnt;
  for(cnt=0;cnt<nmstr.length; cnt++){
  itc=nmstr.substring(cnt*ZenByte,cnt*ZenByte+ZenByte);
  if(OkMoji.indexOf(itc,0)==-1){
    return false;
  }
  }
  return true;
}

//      ######
//      ##        エラーメッセージ
var msg = new MSG();
MSG.INPUTER = '入力文字数が多すぎます。\n';
MSG.INPUTER2 = '入力が間違っています。\n';
MSG.KANAER = '半角カタカナを使用しないで下さい。\n';
MSG.NUMER = '半角英数字以外を使用しないで下さい。\n';
MSG.NUMER2 = '半角数字以外を使用しないで下さい。\n';
MSG.DATEER = '入力日付が間違っています。\n';
function MSG() {
  this.INPUTER = '';
  this.INPUTER2 = '';
  this.KANAER = '';
  this.NUMER = '';
  this.NUMER2 = '';
  this.DATEER = '';
}
//

