// エラーメッセージを定義
var err = new Array();

// 各ページ共通のエラーメッセージ
err[0] = "その他が選択されている場合はチェックボックスの右に内容をご記入ください。";
err[1] = "お問合せ・ご意見の入力文字数がオーバーしています。\n半角で最大255文字、全角で最大127文字までしか入力出来ません。";
err[2] = "";
err[3] = "連絡先のe-mailもしくは電話番号いずれかをご記入ください。";
err[4] = "";
err[5] = "ご連絡先の電話番号は半角数字と-（ハイフン）のみでご記入ください。";
err[6] = "ご連絡先の郵便番号は半角数字と-（ハイフン）のみでご記入ください。";
err[7] = "ご連絡先の郵便番号は半角数字３桁、-（ハイフン）、半角数字４桁の形でご記入ください。";
err[8] = "e-mailが正しくご記入されていない可能性があります。再度確認してください。";
err[9] = "e-mailデータベースの登録を希望される場合は、e-mailアドレスをご記入下さい。";
err[10] = "送信します。よろしいでしょうか？";
err[11] = "e-mailデータベース登録の希望を選択してください。";
err[12] = "ご連絡先の都道府県を選択してください。";

// contact.htmlにおけるエラーメッセージ
err[13] = "ご連絡先のお名前（漢字）をご記入ください。";
err[14] = "ご連絡先の会社名をご記入ください。";

// index.htmlにおけるエラーメッセージ
err[15] = "主なアクセス先のいずれかを選択してください。";
err[16] = "主なアクセスの目的のいずれかを選択してください。";
err[17] = "アクセスの経路のいずれかを選択してください。";
err[18] = "本ホームベージを見た感想のいずれかを選択してください。";
err[19] = "送付先のお名前（漢字）をご記入ください";
err[20] = "送付先のお名前（カナ）をご記入ください";
err[21] = "送付先の会社名（漢字）をご記入ください";
err[22] = "送付先の会社名（フリガナ）をご記入ください";
err[23] = "送付先の電話番号をご記入ください";
err[24] = "送付先の郵便番号をご記入ください";
err[25] = "送付先の市/区をご記入ください";
err[26] = "送付先の住所をご記入ください";

// opto.htmlにおけるエラーメッセージ
err[27] = "ご連絡先のお名前（漢字）をご記入ください。";
err[28] = "ご連絡先の会社名をご記入ください。";

// material.htmlにおけるエラーメッセージ
err[29] = "ご連絡先のお名前（漢字）をご記入ください。";
err[30] = "ご連絡先の会社名をご記入ください。";


// 機能：contact.htmlの入力チェック
//
// 引数：なし
//
// 返値：true ：正常　false：エラー
//
// 概要：フォームの入力項目の入力チェック・妥当性チェックを行う
//
// 作成：@glovix  m.yoshida
function chkcontact(){
   var frm = document.Contact;
   
   with(frm){
         if(contact06email.value==""){
            alert(err[3]);
            return false;
         }else if(chkmail(frm,contact06email)==false){
            return false;
         }

      // 全項目が未入力の場合はＯＫ
      if (contact07name.value==""     && contact08kana.value==""         && 
          contact12tel.value==""  &&
          contact13zip.value==""      && contact14state.value==""        && 
          contact15city.value==""     && contact16address.value==""      && 
          contact17build.value=="" ){
      }else{
      // １つでも入力がある場合は全て入力チェックを行う
          if(chknull(frm,contact07name,19)==false){
             return false;
          }else if(chknull(frm,contact08kana,20)==false){
             return false;

         }else if(chknull(frm,contact12tel,23)==false){
             return false;
          }else if(chktel(frm,contact12tel)==false){
             return false;
          }else if(chknull(frm,contact13zip,24)==false){
             return false;
          }else if(chkpost(frm,contact13zip)==false){
             return false;
          }else if(contact14state.value == ""){
             alert(err[12]);
             contact14state.focus();
             return false;
          }else if(chknull(frm,contact15city,25)==false){
             return false;
          }else if(chknull(frm,contact16address,26)==false){
             return false;
          }
	}
      //意見・感想の文字長チェック
      if(chkstrlength(frm,contact18coment)==false){
         return false;
      }
   }
   if(confirm(err[10])==false){
      return false;
   }
    frm.fromto.value = frm.contact06email.value;
   return true;
}


// 機能：index.htmlの入力チェック
//
// 引数：なし
//
// 返値：true ：正常　false：エラー
//
// 概要：フォームの入力項目の入力チェック・妥当性チェックを行う
//
// 作成：@glovix  m.yoshida
function chkindex(){
   var frm = document.Join;
   with(frm){
      if(join06email.value== ""){
            alert(err[3]);
            return false;
         }else if(chkmail(frm,join06email)==false){
            return false;
         }
//      }
      // 全項目が未入力の場合はＯＫ
      if (join07name.value==""     && join08kana.value==""         && 
          join12tel.value==""          && 
          join13zip.value==""      && join14state.value==""        && 
          join15city.value==""     && join16address.value==""      && 
          join17build.value=="" ){
      }else{
      // １つでも入力がある場合は全て入力チェックを行う
          if(chknull(frm,join07name,19)==false){
             return false;
          }else if(chknull(frm,join08kana,20)==false){
             return false;
          }else if(chknull(frm,join12tel,23)==false){
             return false;
          }else if(chktel(frm,join12tel)==false){
             return false;
          }else if(chknull(frm,join13zip,24)==false){
             return false;
          }else if(chkpost(frm,join13zip)==false){
             return false;
          }else if(join14state.value == ""){
             alert(err[12]);
             join14state.focus();
             return false;
          }else if(chknull(frm,join15city,25)==false){
             return false;
          }else if(chknull(frm,join16address,26)==false){
             return false;
          }
      }
      //意見・感想の文字長チェック
      if(chkstrlength(frm,join18coment)==false){
         return false;
      }
   }
   if(confirm(err[10])==false){
      return false;
   }
    frm.fromto.value = frm.join06email.value;
   return true;
}

// 機能：その他チェック時詳細チェック
//
// 引数：wkform　呼び出し元のフォーム
// 　　：wkchkbx その他のチェックボックス
// 　　：wktxtbx その他の詳細入力ボックス
//
// 返値：true ：正常　false：エラー
//
// 概要：その他チェックされている時詳細が未入力の場合エラー
//
// 作成：@glovix  m.yoshida

function chksonota(wkform,wkchkbx,wktxtbx){
   with(wkform){
      // 問い合わせ項目「その他」の時、詳細入力されていない場合エラー
      if (wkchkbx.checked==true && wktxtbx.value==""){
         alert(err[0]);
         wktxtbx.focus();
         return false;
      }else{
         return true;
      }
   }
}

// 機能：必須項目nullチェック
//
// 引数：wkform　呼び出し元のフォーム
// 　　：wktxtbx その他の詳細入力ボックス
// 　　：msg     エラー時に表示するメッセージ
//
// 返値：true ：正常　false：エラー
//
// 概要：必須項目が未入力の場合エラー
//
// 作成：@glovix  m.yoshida

function chknull(wkform,wktxtbx,msg){
   with(wkform){
      var val = wktxtbx.value
      if (val==""){
         wktxtbx.focus();
         alert(err[msg]);
         return false;
      }else{
         return true;
      }
   }
}
// 機能：文字の長さチェック
//
// 引数：wkform　呼び出し元のフォーム
// 　　：wktxtbx その他の詳細入力ボックス
//
// 返値：true ：正常　false：エラー
//
// 概要：入力文字が指定バイト数以上の場合エラー
//
// 作成：@glovix  m.yoshida
function chkstrlength(wkform,wktxtbx){
   with(wkform){
      var txt = wktxtbx.value;
      var chkByte      = 0;
      var maxlength = 0;
      // 半角の文字列を定義
      var chkstring = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~｡｢｣､ｦｧｨｩｪｫｬｭｯｰｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜﾝﾟﾞ ";

      for (var i = 0 ; i < txt.length;i++){
         chkByte = 2;
         if (chkstring.indexOf(txt.charAt(i),0) != -1){
            chkByte = 1;
         }
         maxlength += chkByte;
      }
      if (maxlength > 255){
         alert(err[1]);
         wktxtbx.focus();
         return false;
      }else{
         return true;
      }
   }
}
// 機能：チェックボックスの入力チェック
//
// 引数：wkform　呼び出し元のフォーム
// 　　：wkchkbt チェックボックス・ラジオボタン
// 　　：msg     エラーメッセージ
//
// 返値：true ：正常　false：エラー
//
// 概要：必須項目のラジオ・チェックボックスが何も選択されていない場合エラー
//
// 作成：@glovix  m.yoshida
function chkradio(wkform,wkchkbt,msg){
   with(wkform){
      for (var i=0 ;i < wkchkbt.length ; i++){
         if(wkchkbt[i].checked == true){
            return true;
         }
      }
      alert(err[msg]);
      wkchkbt[0].focus();
      return false;
   }
}
// 機能：電話番号の妥当性チェック
//
// 引数：wkform　呼び出し元のフォーム
// 　　：wktxtbx 電話番号オブジェクト
//
// 返値：true ：正常　false：エラー
//
// 概要：電話番号が半角の0〜9または"-"のみで構成されていない場合エラー
//
// 作成：@glovix  m.yoshida
function chktel(wkform,wktxtbx){
   with(wkform){
      var telno = wktxtbx.value;
      for(var i=0 ; i < telno.length ; i++){
         if("0123456789-".indexOf(telno.charAt(i),0) == -1){
            alert(err[5]);
            wktxtbx.focus();
            return false;
         }
      }
   }
   return true;
}
// 機能：郵便番号の妥当性チェック
//
// 引数：wkform　呼び出し元のフォーム
// 　　：wktxtbx 郵便番号入力オブジェクト
//
// 返値：true ：正常　false：エラー
//
// 概要：入力された郵便番号が「***-****」以外の形式ならばエラー（注：*は数値とする）
//
// 作成：@glovix  m.yoshida
function chkpost(wkform,wktxtbx){
   with(wkform){
      var post = wktxtbx.value;
      if (post.search(/^\d{3}-\d{4}$/) != -1){
         return true;
      }else if(post.search(/^\d{7}$/) != -1){
         alert(err[7]);
      }else{
         alert(err[6]);
      }
      wktxtbx.focus();
      return false;
   }
}
// 機能：e-mailの妥当性チェック
//
// 引数：wkform　呼び出し元のフォーム
// 　　：wktxtbx e-mail入力オブジェクト
//
// 返値：true ：正常　false：エラー
//
// 概要：入力された郵便番号が不正な形式ならばエラー
//　　 ：チェック対象は@ と.com 又は .**.jp 又は.net のみとします。
//
// 作成：@glovix  m.yoshida
function chkmail(wkform,wktxtbx){
   with(wkform){
      var email = wktxtbx.value;
      if (email.search(/^[\w|\W]+@[\w|\W]/ig) != -1){
         if (email.search(/\.(com|jp|net)$/i) != -1){
            return true;
         }else{
            alert(err[8]);
            wktxtbx.focus();
            return false;
         }
      }else{
         alert(err[8]);
         wktxtbx.focus();
         return false;
      }
   }
}
