  //*********************************************************************
  // 御意見・御要望・お問い合わせ用ページ、チェック関数
  //*********************************************************************
  // 内容の入力チェック
  function check_opinion( frm ){
    var opinion_content          = frm.opinion_content ;
    var opinion_addr             = frm.opinion_addr    ;
    var opinion_error_message_01 = "内容を入力してください";
    var opinion_error_message_02 = "メールアドレスが有効ではありません";
    // 返値
    var return_flag = true ;
    
    // 警告メッセージ表示の初期化
    document.getElementById("opinion_content_message").innerHTML = "" ;
    document.getElementById("opinion_addr_message").innerHTML    = "" ;
    
    // 入力判定
    // 「内容」テキストエリアの文字数が０以下かどうか判定
    if( getInputLength(  opinion_content.value ) <= 0 ){
      // カラ判定
      document.getElementById("opinion_content_message").innerHTML = opinion_error_message_01 ;
      //alert("内容を入力してください");
      opinion_content.focus();
      return_flag = false ;
    }

    // メールアドレスチェック
    if( chkRegEmail( opinion_addr.value ) ) {
    }else{
      // 不正アドレス判定
      document.getElementById("opinion_addr_message").innerHTML = opinion_error_message_02 ;
      // 今までエラー判定がなければフォーカスを移動
      if( return_flag ){
        opinion_addr.focus();
      }
      //opinion_addr.focus();
      return_flag = false ;
    } 
    // 判定結果を返す
    return return_flag ;
  }
  

  //*********************************************************************
  // メールアドレスチェック
  /**
   * [関数名] chkRegEmail
   * [機　能] 正規表現によるメールアドレス（E-mail）チェック
   * [引　数]
   * @param str 入力された文字列
   * [返り値]
   * @return true(E-mail形式である場合か、空欄の場合) | false(E-mail形式でない場合)
  */
  function chkRegEmail(str){
    /* E-mail形式の正規表現パターン */
    /* @が含まれていて、最後が .(ドット)でないなら正しいとする */
    var Seiki=/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i;
    /* 入力された値がパターンにマッチするか調べる */
    if(str!=""){
      if(str.match(Seiki)){
          //alert(str.match(Seiki)+"\n\nメールアドレスの形式は正しいです");
          return true;
      }else{
          //alert("メールアドレスの形式が不正です");
          return false;
      }
    }else{
      /* 何も入力されていない場合 */
      //alert("メールアドレスを入力してください");
      //return false;
      return true ;
    }
  }
 
  //*********************************************************************
  // テキストエリアの文字数チェック
  /**
   * [関数名] getInputLength
   * [機　能] 入力文字数をリアルタイム表示
   * [説　明] 半角も全角も1文字としてカウント。改行はノーカウント。
   * [引　数]
   * @param str 文字列
   * [返り値] なし
  */
  function getInputLength(str){
      var len=str.length; /* 入力された文字列の長さ */
      var cnt=x=y=0;
      for(i=0; ;cnt++){
          /* 改行のがいくつあるカウント */
          x=str.indexOf("\n",y);
           if(x==-1) break;
           y=x+2;
      }
      /* 改行はカウントせず、文字数のみ返す */
      return len-(cnt*2);
  }

  //*********************************************************************

