// +-------------------------------------------------------------------------+
// | Copyright (C) 2009 Pasocom Adviser Co.,Ltd. All Rights Reserved.        |
// | Copyright (C) 2009 有限会社 パソコン・アドバイザー All Rights Reserved. |
// | https://www.pcomadv.co.jp/                                              |
// +-------------------------------------------------------------------------+
var CommonClass = function () {


  //******************************
  //*  IE8 以前のバージョン対策  *
  //******************************
  if (!("indexOf" in Array.prototype)) {
    Array.prototype.indexOf = function(find, StartPos) {
      if (StartPos === undefined) {
        StartPos = 0;
      }
      if (StartPos < 0) {
        StartPos += this.length;
      }
      if (StartPos < 0) {
        StartPos = 0;
      }
      while (StartPos < this.length) {
        if ((StartPos in this) && (this[StartPos] === find)) {
          return StartPos;
        }
        StartPos++;
      }
      return -1;
    };
  }


  //******************************
  //*  文字列の前後の空白を削除  *
  //******************************
  String.prototype.trim = function() {
    return this.replace(/^[\s　]+|[\s　]+$/g, "");
  }


  //************************************
  //*  文字列の先頭(左側)の空白を削除  *
  //************************************
  String.prototype.ltrim = function() {
    return this.replace(/^[\s　]+/g, "");
  }


  //************************************
  //*  文字列の末尾(右側)の空白を削除  *
  //************************************
  String.prototype.rtrim = function() {
    return this.replace(/[\s　]+$/g, "");
  }


  //**********************************************************
  //*  文字列中の全て一致した文字列を置換                    *
  //**********************************************************
  //*  標準関数の replace (最初に現れた文字列のみ) の拡張版  *
  //**********************************************************
  String.prototype.replaceAll = function(Before, After) {
    return this.split(Before).join(After);
  }


  //**********************
  //*  半角を全角に変換  *
  //**********************
  String.prototype.Asc2Unc = function() {

    var StrWork = this.replace(/[ ]/g, "　");

    StrWork = StrWork.AscSymbol2UncSymbol(true);
    StrWork = StrWork.AscNum2UncNum(true);
    StrWork = StrWork.AscAlf2UncAlf(true);
    StrWork = StrWork.AscKata2UncKata(true);

    return StrWork;

  }


  //******************************
  //*  半角記号を全角記号に変換  *
  //******************************
  String.prototype.AscSymbol2UncSymbol = function(SpaceChangeParam) {

    if (SpaceChangeParam == undefined) {
      SpaceChangeParam = true;
    }

    var StrWork = this;

    if (SpaceChangeParam === true) {
      StrWork = StrWork.replace(/[ ]/g, "　");
    }

    StrWork = StrWork.replace(/[!-/:-@\[-`{-~]/g, function(Str) {
      return String.fromCharCode(Str.charCodeAt(0) + 0xFEE0);
    });

    return StrWork;

  }


  //******************************
  //*  半角数字を全角数字に変換  *
  //******************************
  String.prototype.AscNum2UncNum = function(SpaceChangeParam) {

    if (SpaceChangeParam == undefined) {
      SpaceChangeParam = true;
    }

    var StrWork = this;

    if (SpaceChangeParam === true) {
      StrWork = StrWork.replace(/[ ]/g, "　");
    }

    StrWork = StrWork.replace(/[0-9]/g, function(Str) {
      return String.fromCharCode(Str.charCodeAt(0) + 0xFEE0);
    });

    return StrWork;

  }


  //**************************************************
  //*  半角アルファベットを全角アルファベットに変換  *
  //**************************************************
  String.prototype.AscAlf2UncAlf = function(SpaceChangeParam) {

    if (SpaceChangeParam == undefined) {
      SpaceChangeParam = true;
    }

    var StrWork = this;

    if (SpaceChangeParam === true) {
      StrWork = StrWork.replace(/[ ]/g, "　");
    }

    StrWork = StrWork.replace(/[a-zA-Z]/g, function(Str) {
      return String.fromCharCode(Str.charCodeAt(0) + 0xFEE0);
    });

    return StrWork;

  }


  //**************************************
  //*  半角カタカナを全角カタカナに変換  *
  //**************************************
  String.prototype.AscKata2UncKata = function(SpaceChangeParam) {

    if (SpaceChangeParam == undefined) {
      SpaceChangeParam = true;
    }

    var StrWork = this;

    if (SpaceChangeParam === true) {
      StrWork = StrWork.replace(/[ ]/g, "　");
    }

    var Asc2UncTbl = {"ｶﾞ":"ガ", "ｷﾞ":"ギ", "ｸﾞ":"グ", "ｹﾞ":"ゲ", "ｺﾞ":"ゴ"
                    , "ｻﾞ":"ザ", "ｼﾞ":"ジ", "ｽﾞ":"ズ", "ｾﾞ":"ゼ", "ｿﾞ":"ゾ"
                    , "ﾀﾞ":"ダ", "ﾁﾞ":"ヂ", "ﾂﾞ":"ヅ", "ﾃﾞ":"デ", "ﾄﾞ":"ド"
                    , "ﾊﾞ":"バ", "ﾋﾞ":"ビ", "ﾌﾞ":"ブ", "ﾍﾞ":"ベ", "ﾎﾞ":"ボ"
                    , "ﾊﾟ":"パ", "ﾋﾟ":"ピ", "ﾌﾟ":"プ", "ﾍﾟ":"ペ", "ﾎﾟ":"ポ"
                    , "ｳﾞ":"ヴ"
                    , "ｱ":"ア", "ｲ":"イ", "ｳ":"ウ", "ｴ":"エ", "ｵ":"オ"
                    , "ｶ":"カ", "ｷ":"キ", "ｸ":"ク", "ｹ":"ケ", "ｺ":"コ"
                    , "ｻ":"サ", "ｼ":"シ", "ｽ":"ス", "ｾ":"セ", "ｿ":"ソ"
                    , "ﾀ":"タ", "ﾁ":"チ", "ﾂ":"ツ", "ﾃ":"テ", "ﾄ":"ト"
                    , "ﾅ":"ナ", "ﾆ":"ニ", "ﾇ":"ヌ", "ﾈ":"ネ", "ﾉ":"ノ"
                    , "ﾊ":"ハ", "ﾋ":"ヒ", "ﾌ":"フ", "ﾍ":"ヘ", "ﾎ":"ホ"
                    , "ﾏ":"マ", "ﾐ":"ミ", "ﾑ":"ム", "ﾒ":"メ", "ﾓ":"モ"
                    , "ﾔ":"ヤ", "ﾕ":"ユ", "ﾖ":"ヨ"
                    , "ﾗ":"ラ", "ﾘ":"リ", "ﾙ":"ル", "ﾚ":"レ", "ﾛ":"ロ"
                    , "ﾜ":"ワ"
                    , "ﾝ":"ン"
                    , "ｧ":"ァ", "ｨ":"ィ", "ｩ":"ゥ", "ｪ":"ェ", "ｫ":"ォ"
                    , "ｯ":"ッ"
                    , "ｬ":"ャ", "ｭ":"ュ", "ｮ":"ョ"
                    , "ｰ":"ー"};

    for (var Key in Asc2UncTbl) {
      StrWork = StrWork.replaceAll(Key, Asc2UncTbl[Key]);
    }

    return StrWork;

  }


  //**********************
  //*  全角を半角に変換  *
  //**********************
  String.prototype.Unc2Asc = function() {

    var StrWork = this.replace(/[　]/g, " ");

    StrWork = StrWork.UncSymbol2AscSymbol(true);
    StrWork = StrWork.UncNum2AscNum(true);
    StrWork = StrWork.UncAlf2AscAlf(true);
    StrWork = StrWork.UncKata2AscKata(true);

    return StrWork;

  }


  //******************************
  //*  全角記号を半角記号に変換  *
  //******************************
  String.prototype.UncSymbol2AscSymbol = function(SpaceChangeParam) {

    if (SpaceChangeParam == undefined) {
      SpaceChangeParam = true;
    }

    var StrWork = this;

    if (SpaceChangeParam === true) {
      StrWork = StrWork.replace(/[　]/g, " ");
    }

    StrWork = StrWork.replace(/[！-／：-＠［-｀｛-～]/g, function(Str) {
      return String.fromCharCode(Str.charCodeAt(0) - 0xFEE0);
    });

    return StrWork;

  }


  //******************************
  //*  全角数字を半角数字に変換  *
  //******************************
  String.prototype.UncNum2AscNum = function(SpaceChangeParam) {

    if (SpaceChangeParam == undefined) {
      SpaceChangeParam = true;
    }

    var StrWork = this;

    if (SpaceChangeParam === true) {
      StrWork = StrWork.replace(/[　]/g, " ");
    }

    StrWork = StrWork.replace(/[０-９]/g, function(Str) {
      return String.fromCharCode(Str.charCodeAt(0) - 0xFEE0);
    });

    return StrWork;

  }


  //**************************************************
  //*  全角アルファベットを半角アルファベットに変換  *
  //**************************************************
  String.prototype.UncAlf2AscAlf = function(SpaceChangeParam) {

    if (SpaceChangeParam == undefined) {
      SpaceChangeParam = true;
    }

    var StrWork = this;

    if (SpaceChangeParam === true) {
      StrWork = StrWork.replace(/[　]/g, " ");
    }

    StrWork = StrWork.replace(/[ａ-ｚＡ-Ｚ]/g, function(Str) {
      return String.fromCharCode(Str.charCodeAt(0) - 0xFEE0);
    });

    return StrWork;

  }


  //**************************************
  //*  全角カタカナを半角カタカナに変換  *
  //**************************************
  String.prototype.UncKata2AscKata = function(SpaceChangeParam) {

    if (SpaceChangeParam == undefined) {
      SpaceChangeParam = true;
    }

    var StrWork = this;

    if (SpaceChangeParam === true) {
      StrWork = StrWork.replace(/[　]/g, " ");
    }

    var Unc2AscTbl = {"ガ":"ｶﾞ", "ギ":"ｷﾞ", "グ":"ｸﾞ", "ゲ":"ｹﾞ", "ゴ":"ｺﾞ"
                    , "ザ":"ｻﾞ", "ジ":"ｼﾞ", "ズ":"ｽﾞ", "ゼ":"ｾﾞ", "ゾ":"ｿﾞ"
                    , "ダ":"ﾀﾞ", "ヂ":"ﾁﾞ", "ヅ":"ﾂﾞ", "デ":"ﾃﾞ", "ド":"ﾄﾞ"
                    , "バ":"ﾊﾞ", "ビ":"ﾋﾞ", "ブ":"ﾌﾞ", "ベ":"ﾍﾞ", "ボ":"ﾎﾞ"
                    , "パ":"ﾊﾟ", "ピ":"ﾋﾟ", "プ":"ﾌﾟ", "ペ":"ﾍﾟ", "ポ":"ﾎﾟ"
                    , "ヴ":"ｳﾞ"
                    , "ア":"ｱ", "イ":"ｲ", "ウ":"ｳ", "エ":"ｴ", "オ":"ｵ"
                    , "カ":"ｶ", "キ":"ｷ", "ク":"ｸ", "ケ":"ｹ", "コ":"ｺ"
                    , "サ":"ｻ", "シ":"ｼ", "ス":"ｽ", "セ":"ｾ", "ソ":"ｿ"
                    , "タ":"ﾀ", "チ":"ﾁ", "ツ":"ﾂ", "テ":"ﾃ", "ト":"ﾄ"
                    , "ナ":"ﾅ", "ニ":"ﾆ", "ヌ":"ﾇ", "ネ":"ﾈ", "ノ":"ﾉ"
                    , "ハ":"ﾊ", "ヒ":"ﾋ", "フ":"ﾌ", "ヘ":"ﾍ", "ホ":"ﾎ"
                    , "マ":"ﾏ", "ミ":"ﾐ", "ム":"ﾑ", "メ":"ﾒ", "モ":"ﾓ"
                    , "ヤ":"ﾔ", "ユ":"ﾕ", "ヨ":"ﾖ"
                    , "ラ":"ﾗ", "リ":"ﾘ", "ル":"ﾙ", "レ":"ﾚ", "ロ":"ﾛ"
                    , "ワ":"ﾜ"
                    , "ン":"ﾝ"
                    , "ァ":"ｧ", "ィ":"ｨ", "ゥ":"ｩ", "ェ":"ｪ", "ォ":"ｫ"
                    , "ッ":"ｯ"
                    , "ャ":"ｬ", "ュ":"ｭ", "ョ":"ｮ"
                    , "ヵ":"ｶ", "ヶ":"ｹ"
                    , "ー":"ｰ"};

    for (var Key in Unc2AscTbl) {
      StrWork = StrWork.replaceAll(Key, Unc2AscTbl[Key]);
    }

    return StrWork;

  }


  //*************************************
  //*  [ひらがな] を [カタカナ] に変換  *
  //*************************************
  String.prototype.Hira2Kata = function() {

    return this.replace(/[ぁ-ゖ]/g, function(Str) {
      return String.fromCharCode(Str.charCodeAt(0) + 0x0060);
    });

  }


  //*************************************
  //*  [カタカナ] を [ひらがな] に変換  *
  //*************************************
  String.prototype.Kata2Hira = function() {

    return this.replace(/[ァ-ヶ]/g, function(Str) {
      return String.fromCharCode(Str.charCodeAt(0) - 0x0060);
    });

  }


  //********************************************************************************
  //*  [ハイフン] または [長音] を、直前の文字から判別し調整                       *
  //********************************************************************************
  //*  DerialParam ･･･ 連続する場合１文字に切り詰める (0:無 (既定) 1:有)           *
  //*  PrefixHyphenDelete ･･･ 各単語の先頭に付くハイフンを削除 (0:無 (既定) 1:有)  *
  //*  SuffixHyphenDelete ･･･ 各単語の末尾に付くハイフンを削除 (0:無 (既定) 1:有)  *
  //*  PrefixLongVowelDelete ･･･ 各単語の先頭に付く長音を削除 (0:無 (既定) 1:有)   *
  //*  SuffixLongVowelDelete ･･･ 各単語の末尾に付く長音を削除 (0:無 (既定) 1:有)   *
  //********************************************************************************
  String.prototype.AdjustHorizontalBar = function(DerialParam, PrefixHyphenDelete, SuffixHyphenDelete, PrefixLongVowelDelete, SuffixLongVowelDelete) {

    if (DerialParam == undefined) {
      DerialParam = false;
    }
    if (PrefixHyphenDelete == undefined) {
      PrefixHyphenDelete = false;
    }
    if (SuffixHyphenDelete == undefined) {
      SuffixHyphenDelete = false;
    }
    if (PrefixLongVowelDelete == undefined) {
      PrefixLongVowelDelete = false;
    }
    if (SuffixLongVowelDelete == undefined) {
      SuffixLongVowelDelete = false;
    }

    var StringWork = this.replace(/[-－﹣−‐⁃‑‒–—﹘―⎯⏤ーｰ─━]/g, "－");

    StringWork = StringWork.replace(/(.)([－]+)/g, function(Str, Match01, Match02) {
      if (Match01.match(/^[ぁ-ゖァ-ヶ｡-ﾟ]*$/)) {
        return Match01 + Match02.replace(/[－]/g, "ー");
      } else {
        return Match01 + Match02;
      }
    });

    if (DerialParam === true) {
      StringWork = StringWork.replace(/([－ー])[－ー]*/g, "$1");
    }
    if (PrefixHyphenDelete === true) {
      StringWork = StringWork.replace(/^[－][－]*(.*?)$/g, "$1");
      StringWork = StringWork.replace(/^(.*?[ 　])[－][－]*(.*?)$/g, "$1$2");
    }
    if (SuffixHyphenDelete === true) {
      StringWork = StringWork.replace(/^(.*?)[－][－]*$/g, "$1");
      StringWork = StringWork.replace(/^(.*?)[－][－]*([ 　].*?)$/g, "$1$2");
    }
    if (PrefixLongVowelDelete === true) {
      StringWork = StringWork.replace(/^[ー][ー]*(.*?)$/g, "$1");
      StringWork = StringWork.replace(/^(.*?[ 　])[ー][ー]*(.*?)$/g, "$1$2");
    }
    if (SuffixLongVowelDelete === true) {
      StringWork = StringWork.replace(/^(.*?)[ー][ー]*$/g, "$1");
      StringWork = StringWork.replace(/^(.*?)[ー][ー]*([ 　].*?)$/g, "$1$2");
    }

    return StringWork;

  }


  var ThisInstance = this;

  if (this.OnLoadAddEventSetFlag == "true") {
    this.AddEvent(window, "load", function () {ThisInstance.DisplayItemVisualSet(window.document);});
  }

}


//************************
//*  prototype 変数宣言  *
//************************
CommonClass.prototype.DefaultItemBackgroundCcolor = "#ffffc0";
CommonClass.prototype.ErrorItemBackgroundCcolor = "#ffc0c0";
CommonClass.prototype.FocusOnBackgroundCcolor = "#c0ffff";
CommonClass.prototype.DisabledBackgroundCcolor = "#e0e0e0";

CommonClass.prototype.IndividualDefaultItemBackgroundCcolor = {};
CommonClass.prototype.IndividualFocusOnBackgroundCcolor = {};
CommonClass.prototype.IndividualDisabledBackgroundCcolor = {};

//********************
//*  クラス継承処理  *
//********************
CommonClass.prototype.ClassInherit = function (SubClass, SuperClass) {

  for (var name in SuperClass.prototype) {
    SubClass.prototype[name] = SuperClass.prototype[name];
  }

}


//******************************
//*  環境設定ファイル読み込み  *
//******************************
CommonClass.prototype.ConfigFileRead = function (ConfigFileName, ThisInstance) {

  var ThisInstance = this;

  this.getHTML("POST", ConfigFileName, undefined, false, function (xmlobj) {
    var XMLWork = xmlobj.responseXML;
    var ErrorMessageXML = XMLWork.getElementsByTagName("ErrorMessage");
    if (ThisInstance.GetXMLTextContent(ErrorMessageXML[0]) == "") {
      var ConfigFileXML = XMLWork.getElementsByTagName("ConfigFile");
      var ItemXML = ConfigFileXML[0].getElementsByTagName("Item");
      for (var jj=0 ; jj<ItemXML.length ; jj++) {
        var KeyXML = ItemXML[jj].getElementsByTagName("Key");
        var ValueXML = ItemXML[jj].getElementsByTagName("Value");
        ThisInstance[ThisInstance.GetXMLTextContent(KeyXML[0])] = ThisInstance.GetXMLTextContent(ValueXML[0]);
      }
    } else {
      alert(ThisInstance.GetXMLTextContent(ErrorMessageXML[0]));
    }
    return false;
  });

  return false;

}


//****************************************
//*  userAgent からＯＳとブラウザを検出  *
//****************************************
CommonClass.prototype.OsBrowserJudge = function () {

  var UserAgentString = window.navigator.userAgent.toLowerCase() + " ";

  var OsBrowserInfoTbl = {"OsKind"        :""
                        , "OsVersion"     :""
                        , "BrowserKind"   :""
                        , "BrowserVersion":""};

  OsJudge();
  BrowserJudge();

  return OsBrowserInfoTbl;


  //++--------------++
  //||  ＯＳの判定  ||
  //++--------------++
  function OsJudge () {

    //*** Windows ***
    var StringPosition1 = UserAgentString.indexOf("windows");
    var StringPosition2 = UserAgentString.indexOf("phone");

    if (StringPosition1 >= 0) {
      if (StringPosition2 < 0) {
        OsBrowserInfoTbl["OsKind"] = "Windows";
        var StartPosition = UserAgentString.indexOf("nt ", StringPosition1) + 3;
        var EndPosition = UserAgentString.indexOf(" ", StartPosition);
        var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
        VersionString = VersionString.replace(/[;\)]/g, "");
        OsBrowserInfoTbl["OsVersion"] = "NT" + VersionString;
        return true;
      } else {
        OsBrowserInfoTbl["OsKind"] = "Windows Phone";
        var StartPosition = UserAgentString.indexOf("os", StringPosition1) + 3;
        var EndPosition = UserAgentString.indexOf(" ", StartPosition);
        var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
        VersionString = VersionString.replace(/[;\)]/g, "");
        OsBrowserInfoTbl["OsVersion"] = "OS" + VersionString;
        return true;
      }
    }

    //*** Mac ***
    var StringPosition1 = UserAgentString.indexOf("mac");
    var StringPosition2 = UserAgentString.indexOf("os");
    var StringPosition3 = UserAgentString.indexOf("iphone");
    var StringPosition4 = UserAgentString.indexOf("ipad");
    var StringPosition5 = UserAgentString.indexOf("ipod");

    if ((StringPosition1 >= 0) && (StringPosition2 >= 0)) {
      if ((StringPosition3 < 0) && (StringPosition4 < 0) && (StringPosition5 < 0)) {
        OsBrowserInfoTbl["OsKind"] = "MacOS";
        var StartPosition = UserAgentString.indexOf(" ", StringPosition1) + 1;
        var EndPosition = UserAgentString.indexOf(" ", StartPosition);
        var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
        VersionString = VersionString.replace(/[x;\)]/g, "");
        OsBrowserInfoTbl["OsVersion"] = VersionString;
        return true;
      } else {
        OsBrowserInfoTbl["OsKind"] = "iOS";
        var StartPosition = UserAgentString.indexOf("os ", StringPosition1) + 3;
        var EndPosition = UserAgentString.indexOf(" ", StartPosition);
        var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
        VersionString = VersionString.replace(/[;\)]/g, "");
        OsBrowserInfoTbl["OsVersion"] = VersionString;
        return true;
      }
    }

    //*** Android ***
    var StringPosition1 = UserAgentString.indexOf("android");

    if (StringPosition1 >= 0) {
      OsBrowserInfoTbl["OsKind"] = "Android";
      var VersionString = "";
      VersionString = VersionString.replace(/[x;\)]/g, "");
      OsBrowserInfoTbl["OsVersion"] = VersionString;
      return true;
    }

    //*** Unix ***
    var StringPosition1 = UserAgentString.indexOf("linux");
    var StringPosition1 = UserAgentString.indexOf("sunos");
    var StringPosition1 = UserAgentString.indexOf("bsd");

    if ((StringPosition1 >= 0) || (StringPosition2 >= 0) || (StringPosition3 >= 0)) {
      OsBrowserInfoTbl["OsKind"] = "Unix";
      var VersionString = "";
      VersionString = VersionString.replace(/[x;\)]/g, "");
      OsBrowserInfoTbl["OsVersion"] = VersionString;
      return true;
    }


    //*** ゲーム機 ***
    var StringPosition1 = UserAgentString.indexOf("nintendo");
    var StringPosition2 = UserAgentString.indexOf("playstation");

    if ((StringPosition1 >= 0) || (StringPosition2 >= 0)) {
      OsBrowserInfoTbl["OsKind"] = "Game";
      var VersionString = "";
      VersionString = VersionString.replace(/[x;\)]/g, "");
      OsBrowserInfoTbl["OsVersion"] = VersionString;
      return true;
    }

    //*** ガラケー ***
    var StringPosition1 = UserAgentString.indexOf("docomo");
    var StringPosition2 = UserAgentString.indexOf("kddi");
    var StringPosition4 = UserAgentString.indexOf("softbank");
    var StringPosition5 = UserAgentString.indexOf("j-phone");
    var StringPosition6 = UserAgentString.indexOf("willcom");

    if ((StringPosition1 >= 0) || (StringPosition2 >= 0)) {
      OsBrowserInfoTbl["OsKind"] = "Mobile";
      var VersionString = "";
      VersionString = VersionString.replace(/[x;\)]/g, "");
      OsBrowserInfoTbl["OsVersion"] = VersionString;
      return true;
    }

    OsBrowserInfoTbl["OsKind"]    = "Unknown";
    OsBrowserInfoTbl["OsVersion"] = "Unknown";

    return false;

  }


  //++------------------++
  //||  ブラウザの判定  ||
  //++------------------++
  function BrowserJudge () {

    //*** Sleipnir ***
    var StringPosition1 = UserAgentString.indexOf("sleipnir");

    if (StringPosition1 >= 0) {
      OsBrowserInfoTbl["BrowserKind"] = "Sleipnir";
      var StartPosition = UserAgentString.indexOf("/", StringPosition1) + 1;
      var EndPosition = UserAgentString.indexOf(" ", StartPosition);
      var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
      VersionString = VersionString.replace(/[;\)]/g, "");
      OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      return true;
    }

    //*** Internet Explorer ***
    var StringPosition1 = UserAgentString.indexOf("msie");
    var StringPosition2 = UserAgentString.indexOf("trident");
    var StringPosition3 = UserAgentString.indexOf("lunascape");

    if (((StringPosition1 >= 0) || (StringPosition2 >= 0)) && (StringPosition3 < 0)) {
      if ((StringPosition1 >= 0) && (StringPosition3 < 0)) {
        OsBrowserInfoTbl["BrowserKind"] = "MSIE";
        var StartPosition = UserAgentString.indexOf(" ", StringPosition1) + 1;
        var EndPosition = UserAgentString.indexOf(" ", StartPosition);
        var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
        VersionString = VersionString.replace(/[;\)]/g, "");
        OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      } else if ((StringPosition2 >= 0) && (StringPosition3 < 0)) {
        OsBrowserInfoTbl["BrowserKind"] = "MSIE";
        var StartPosition = UserAgentString.indexOf("rv:", StringPosition2) + 3;
        var EndPosition = UserAgentString.indexOf(" ", StartPosition);
        var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
        VersionString = VersionString.replace(/[;\)]/g, "");
        OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      }
      //* ストアアプリ版 Windows 8 , 8.1 のみ *
      if (OsBrowserInfoTbl["OsKind"] == "Windows") {
        if ((OsBrowserInfoTbl["OsVersion"] == "NT6.2") || (OsBrowserInfoTbl["OsVersion"] == "NT6.3")) {
          var DeskTop = false;
          try {
            DeskTop = !!new ActiveXObject("htmlfile");
          } catch (e) {
            DeskTop = false;
          }
          if (DeskTop == false) {
            OsBrowserInfoTbl["BrowserKind"] = "Store MSIE";
          }
        }
      }
      return true;
    }

    //*** Microsoft Edge ***
    var StringPosition1 = UserAgentString.indexOf("edge");

    if (StringPosition1 >= 0) {
      OsBrowserInfoTbl["BrowserKind"] = "Edge";
      var StartPosition = UserAgentString.indexOf("/", StringPosition1) + 1;
      var EndPosition = UserAgentString.indexOf(" ", StartPosition);
      var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
      VersionString = VersionString.replace(/[;\)]/g, "");
      OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      return true;
    }

    //*** Google Chrome ***
    var StringPosition1 = UserAgentString.indexOf("chrome");

    if (StringPosition1 >= 0) {
      OsBrowserInfoTbl["BrowserKind"] = "Chrome";
      var StartPosition = UserAgentString.indexOf("/", StringPosition1) + 1;
      var EndPosition = UserAgentString.indexOf(" ", StartPosition);
      var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
      VersionString = VersionString.replace(/[;\)]/g, "");
      OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      return true;
    }

    //*** Firefox ***
    var StringPosition1 = UserAgentString.indexOf("firefox");

    if (StringPosition1 >= 0) {
      OsBrowserInfoTbl["BrowserKind"] = "Firefox";
      var StartPosition = UserAgentString.indexOf("/", StringPosition1) + 1;
      var EndPosition = UserAgentString.indexOf(" ", StartPosition);
      var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
      VersionString = VersionString.replace(/[;\)]/g, "");
      OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      return true;
    }

    //*** Safari ***
    var StringPosition1 = UserAgentString.indexOf("safari");

    if (StringPosition1 >= 0) {
      OsBrowserInfoTbl["BrowserKind"] = "Safari";
      var StartPosition = UserAgentString.indexOf("/", StringPosition1) + 1;
      var EndPosition = UserAgentString.indexOf(" ", StartPosition);
      var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
      VersionString = VersionString.replace(/[;\)]/g, "");
      OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      return true;
    }

    //*** Opera ***
    var StringPosition1 = UserAgentString.indexOf("opera");

    if (StringPosition1 >= 0) {
      OsBrowserInfoTbl["BrowserKind"] = "Opera";
      var StartPosition = UserAgentString.indexOf("/", StringPosition1) + 1;
      var EndPosition = UserAgentString.indexOf(" ", StartPosition);
      var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
      VersionString = VersionString.replace(/[;\)]/g, "");
      OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      return true;
    }

    //*** Lunascape ***
    var StringPosition1 = UserAgentString.indexOf("lunascape");

    if (StringPosition1 >= 0) {
      OsBrowserInfoTbl["BrowserKind"] = "Lunascape";
      var StartPosition = UserAgentString.indexOf(" ", StringPosition1) + 1;
      var EndPosition = UserAgentString.indexOf(" ", StartPosition);
      var VersionString = UserAgentString.substr(StartPosition, EndPosition - StartPosition);
      VersionString = VersionString.replace(/[;\)]/g, "");
      OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      return true;
    }

    //*** ゲーム機 ***
    var StringPosition1 = UserAgentString.indexOf("nintendo");
    var StringPosition2 = UserAgentString.indexOf("playstation");

    if ((StringPosition1 >= 0) || (StringPosition2 >= 0)) {
      OsBrowserInfoTbl["BrowserKind"] = "Game";
      var VersionString = "";
      VersionString = VersionString.replace(/[x;\)]/g, "");
      OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      return true;
    }

    //*** ガラケー ***
    var StringPosition1 = UserAgentString.indexOf("docomo");
    var StringPosition2 = UserAgentString.indexOf("kddi");
    var StringPosition3 = UserAgentString.indexOf("up.browser");
    var StringPosition4 = UserAgentString.indexOf("softbank");
    var StringPosition5 = UserAgentString.indexOf("j-phone");
    var StringPosition6 = UserAgentString.indexOf("willcom");

    if ((StringPosition1 >= 0) || (StringPosition2 >= 0)) {
      OsBrowserInfoTbl["BrowserKind"] = "Mobile";
      var VersionString = "";
      VersionString = VersionString.replace(/[x;\)]/g, "");
      OsBrowserInfoTbl["BrowserVersion"] = VersionString;
      return true;
    }

    OsBrowserInfoTbl["BrowserKind"]    = "Unknown";
    OsBrowserInfoTbl["BrowserVersion"] = "Unknown";

    return false;

  }

}


//*******************************
//*  各表示項目ビジュアル 設定  *
//*******************************
CommonClass.prototype.DisplayItemVisualSet = function (ParentElement) {

  var ThisInstance = this;

  var MinTabIndex = 9999999999;
  var StartFocus = null;

  if (!ParentElement.getElementsByTagName) {
    return false;
  }

  if (ParentElement.nodeName == "#document") {
    var TagLoopTbl = [];
    TagLoopTbl.push(["form", "SendForm"]);
    TagLoopTbl.push(["div", "ContentsBlock"]);
    for(var ii = 0; ii < TagLoopTbl.length; ii++) {
      var FormTags = window.document.getElementsByTagName(TagLoopTbl[ii][0]);
      for(var jj = 0; jj < FormTags.length; jj++) {
        if (FormTags[jj].id.substr(0, TagLoopTbl[ii][1].length) != TagLoopTbl[ii][1]) {
          continue;
        }
        ItemVisualEventSet(FormTags[jj]);
      }
    }
    if ((ThisInstance.StartFocusSetFlag == "true")
      && (StartFocus)) {
      StartFocus.focus();
    }
  } else {
    ItemVisualEventSet(ParentElement);
  }

  return false;


  //*** 各項目 イベント設定 ***
  function ItemVisualEventSet (ElementsObj) {

    ElementsObj.setAttribute("autocomplete", "off");

    //***************************************************************************************************************************
    //**  inputcontrol 属性 → 独自追加属性                                                                                    **
    //**    → 入力・表示用要素 <input> <select> <textarea> <span> を制御するための属性                                        **
    //***************************************************************************************************************************
    //**  ■パラメータ仕様 ( , (カンマ) で区切り複数指定可)                                                                    **
    //**    Num(i,d,s,c,zi,zd,zs) ･･･ 数値の入力を許可する (<input> <span> に有効)  ※数値として扱う                           **
    //**                              <span> は表示のみ                                                                        **
    //**        i  ([0]) ･･･ 整数部の桁数 (0 (既定) の時は制限しない)                                                          **
    //**        d  ([1]) ･･･ 小数部の桁数 (0 (既定) の時は制限しない)                                                          **
    //**        s  ([2]) ･･･ 符号の有無 (0:無 (既定) 1:有)                                                                     **
    //**        c  ([3]) ･･･ 表示時のカンマ区切りの有無 (0:無 (既定) 1:有)                                                     **
    //**        zi ([4]) ･･･ 整数部の桁数が i で指定した桁数に満たない場合 (c に 1 を指定した場合無視され既定値となる)         **
    //**                       0:実際の桁数のみ表示する (既定)                                                                 **
    //**                       1: i で指定した桁数になるように 0 で埋める                                                      **
    //**                          i で指定した桁数を超えた場合、警告を発しその入力欄に留まる                                   **
    //**        zd ([5]) ･･･ 小数部の桁数が d で指定した桁数に満たない場合 (c に 1 を指定した場合無視され既定値となる)         **
    //**                       0:実際の桁数のみ表示する (既定)                                                                 **
    //**                       1: d で指定した桁数になるように 0 で埋める                                                      **
    //**                          d で指定した桁数を超えた場合、警告を発しその入力欄に留まる                                   **
    //**        zs ([6]) ･･･ 数値が 0 となる場合の表示方法                                                                     **
    //**                       0:通常通り指定フォーマットに従い表示する (既定)                                                 **
    //**                       1: 空欄とする (送信される情報も空欄となるのでデータ型との影響に注意)                            **
    //**    Alf(A,a,n,s) ･･･ 英数字の入力を許可する (<input> に有効)  ※文字として扱う                                         **
    //**        A ([0]) ･･･ 大文字の入力 (0:拒否 1:許可)                                                                       **
    //**        a ([1]) ･･･ 小文字の入力 (0:拒否 1:許可)                                                                       **
    //**        n ([2]) ･･･ 数字の入力 (0:拒否 1:許可)                                                                         **
    //**        s ([3]) ･･･ スペースの入力 (0:拒否 1:許可)                                                                     **
    //**    DateTime(a,b) ･･･ 日付・時刻書式制限 (<input> に有効)                                                              **
    //**        a ([0]) ･･･ 日付の入力 (0:拒否 1:許可)                                                                         **
    //**        b ([1]) ･･･ 時刻の入力 (0:拒否 1:許可)                                                                         **
    //**    Name(a,b,c,d,e) ･･･ 名前書式制限 (<input> に有効)                                                                  **
    //**        a ([0]) ･･･ 文字種の制限                                                                                       **
    //**                       0:文字が、半角に変換できる (半角カナは除く) 場合は半角とし、それ以外は全角とする (既定)         **
    //**                          → 全角文字間のスペースは全角とする                                                          **
    //**                          → 半角文字間のスペースは半角とする                                                          **
    //**                          → 全角半角文字間のスペースは全角とする                                                      **
    //**                       1:全角を基本とし、全ての文字が半角に変換できる場合 (カナは除く) のみ半角とする                  **
    //**                       2:無条件で全て全角とする。                                                                      **
    //**        b ([1]) ･･･ 「ひらがな」「カタカナ」「英数字記号」以外の文字 (漢字等) の入力 (0:許可しない (既定) 1:許可する)  **
    //**        c ([2]) ･･･ 「ひらがな」の文字の入力 (0:許可しない (既定) 1:許可する)                                          **
    //**        d ([3]) ･･･ 「カタカナ」の文字の入力 (0:許可しない (既定) 1:許可する)                                          **
    //**        e ([4]) ･･･ 「英数字記号」の文字の入力 (0:許可しない (既定) 1:許可する)                                        **
    //**    Yubin(a) ･･･ 郵便番号書式制限 (<input> に有効)                                                                     **
    //**        a ([0]) ･･･ 郵便番号の型式に従い、ハイフンを付けて自動的に分割 (0:無効 (既定) 1:有効)                          **
    //**    TelFax(a) ･･･ 電話番号、FAX番号など書式制限 (<input> に有効)                                                       **
    //**        a ([0]) ･･･ 市外局番の桁数を判別し、ハイフンを付けて自動的に分割 (0:無効 (既定) 1:有効)                        **
    //**    MailAddress ･･･ メールアドレス書式制限 (<input> に有効)                                                            **
    //**    Url ･･･ URL 書式制限 (<input> に有効)                                                                              **
    //**    HalfWidth ･･･ 半角書式設定 (<input> <textarea> に有効)                                                             **
    //**    FullWidth ･･･ 全角書式設定 (<input> <textarea> に有効)                                                             **
    //***************************************************************************************************************************
    //**  ■注意                                                                                                               **
    //**    ※大文字小文字は区別される                                                                                         **
    //**    ※ Num 、Alf 、Yubin 、TelFax 、MailAddress 、Url を指定した場合、同時に HalfWidth も適用される                    **
    //**    ※ Num 、Alf 、Yubin 、TelFax 、MailAddress 、Url は同時に指定できない                                             **
    //**         → 同時に指定しても特にエラーとはならないが結果は保証しない (未検証)                                          **
    //**         → 同時に指定したい場合は Alf で指定して文字列として扱うこと                                                  **
    //**    ※ Num 、Alf 、Yubin 、TelFax 、MailAddress 、Url いずれも指定しない場合、フリー入力 (文字制限なし) となる         **
    //**    ※ Num を指定した場合と Alf の n を指定した場合の違いは 数値として扱うか、文字として扱うかの違い                   **
    //**         → 数値として扱う場合と文字として扱う場合ではソート順が異なるので注意                                         **
    //***************************************************************************************************************************
    var InputTags = ElementsObj.getElementsByTagName("input");

    for(var kk = 0; kk < InputTags.length; kk++) {
      if (["text", "password", "file"].indexOf(InputTags[kk].type) >= 0) {
        //***** [Enter] キー制御 *****
        ThisInstance.AddEvent(InputTags[kk], "keypress", function () {return ThisInstance.EnterKeyCancel();});
        //***** 入力・表示フォーマット 制御 *****
        var InputControl = InputTags[kk].getAttribute("inputcontrol");
        if (InputControl) {
          InputTags[kk].ParamTbl = ThisInstance.InputControlParamParse(InputControl);
          if (ThisInstance.InArrayKey(["Num", "Alf", "DateTime", "Name", "Yubin", "TelFax", "MailAddress", "Url", "HalfWidth", "FullWidth"], InputTags[kk].ParamTbl, "OR") == "True") {
            ThisInstance.AddEvent(InputTags[kk], "keydown", function () {return ThisInstance.KeyDownControl();});
            ThisInstance.AddEvent(InputTags[kk], "keypress", function () {return ThisInstance.KeyPressControl();});
            ThisInstance.AddEvent(InputTags[kk], "input", function () {return ThisInstance.KeyInputControl();});
            ThisInstance.AddEvent(InputTags[kk], "focus", function () {return ThisInstance.KeyFocusControl();});
            ThisInstance.AddEvent(InputTags[kk], "blur", function () {return ThisInstance.KeyBlurControl();});
            ThisInstance.DisplayShowControl(InputTags[kk]);
          }
        }
      }
      if (["text", "password", "file"].indexOf(InputTags[kk].type) >= 0) {
        if ((InputTags[kk].offsetLeft + InputTags[kk].offsetWidth < document.documentElement.clientWidth)
          && (InputTags[kk].offsetTop + InputTags[kk].offsetHeight < document.documentElement.clientHeight)) {
          if (InputTags[kk].tabIndex < MinTabIndex) {
            MinTabIndex = InputTags[kk].tabIndex;
            StartFocus = InputTags[kk];
          }
        }
      }
    }

    var SelectTags = ElementsObj.getElementsByTagName("select");

    for(var kk = 0; kk < SelectTags.length; kk++) {
      //***** マウスホイール 取消処理 *****
      ThisInstance.AddEvent(SelectTags[kk], "mousewheel", function () {
        var EventCapture = ThisInstance.GetEventCapture();
        if (EventCapture.preventDefault) {
          EventCapture.preventDefault();
        } else {
          EventCapture.returnValue = false;
        }
      });
      if ((SelectTags[kk].offsetLeft + SelectTags[kk].offsetWidth < document.documentElement.clientWidth)
        && (SelectTags[kk].offsetTop + SelectTags[kk].offsetHeight < document.documentElement.clientHeight)) {
        if (SelectTags[kk].tabIndex < MinTabIndex) {
          MinTabIndex = SelectTags[kk].tabIndex;
          StartFocus = SelectTags[kk];
        }
      }
    }

    var TextAreaTags = ElementsObj.getElementsByTagName("textarea");

    for(var kk = 0; kk < TextAreaTags.length; kk++) {
      //***** 入力・表示フォーマット 制御 *****
      var InputControl = TextAreaTags[kk].getAttribute("inputcontrol");
      if (InputControl) {
        TextAreaTags[kk].ParamTbl = ThisInstance.InputControlParamParse(InputControl);
        ThisInstance.AddEvent(TextAreaTags[kk], "keypress", function () {return ThisInstance.KeyPressControl();});
        ThisInstance.AddEvent(TextAreaTags[kk], "input", function () {return ThisInstance.KeyInputControl();});
      }
      if ((TextAreaTags[kk].offsetLeft + TextAreaTags[kk].offsetWidth < document.documentElement.clientWidth)
        && (TextAreaTags[kk].offsetTop + TextAreaTags[kk].offsetHeight < document.documentElement.clientHeight)) {
        if (TextAreaTags[kk].tabIndex < MinTabIndex) {
          MinTabIndex = TextAreaTags[kk].tabIndex;
          StartFocus = TextAreaTags[kk];
        }
      }
    }

    var SpanTags = ElementsObj.getElementsByTagName("span");

    for(var kk = 0; kk < SpanTags.length; kk++) {
      if (["NumberFormat"].indexOf(SpanTags[kk].className) >= 0) {
        //***** 入力・表示フォーマット 制御 *****
        var InputControl = SpanTags[kk].getAttribute("inputcontrol");
        if (InputControl) {
          SpanTags[kk].ParamTbl = ThisInstance.InputControlParamParse(InputControl);
          if (ThisInstance.InArrayKey(["Num"], SpanTags[kk].ParamTbl, "OR") == "True") {
            ThisInstance.DisplayShowControl(SpanTags[kk]);
          }
        }
      }
    }
  }

}


//************************************************************************************
//**  <input> <select> <textarea> 要素に独自追加した inputcontrol 属性を配列に変換  **
//************************************************************************************
CommonClass.prototype.InputControlParamParse = function(InputControl) {

  var KakkoFlag = false;

  var ParamStr = "";
  var ParamTbl = [];

  for (var ii=0 ; ii<InputControl.length ; ii++) {
    if (InputControl.substr(ii, 1) == "(") {
      KakkoFlag = true;
    } else if (InputControl.substr(ii, 1) == ")") {
      KakkoFlag = false;
    }
    if (KakkoFlag == false) {
      if (InputControl.substr(ii, 1) == ",") {
        ParamStrTbl = ParamParse(ParamStr);
        ParamTbl[ParamStrTbl[0]] = ParamStrTbl[1];
        ParamStr = "";
        continue;
      }
    }
    ParamStr += InputControl.substr(ii, 1);
  }

  if (ParamStr != "") {
    ParamStrTbl = ParamParse(ParamStr);
    ParamTbl[ParamStrTbl[0]] = ParamStrTbl[1];
  }

  return ParamTbl;

  //** 一つのパラメータを配列に分解 **
  function ParamParse(ParamStr) {

    var ParamStrWork = ParamStr.replace(/\)/g, "");

    ParamStrTbl = ParamStrWork.split("(");

    if (!ParamStrTbl[1]) {
      ParamStrTbl[1] = "";
    }

    PropTbl = ParamStrTbl[1].split(",");

    if (ParamStrTbl[0] == "Num") {
      for (var ii=0 ; ii<=6 ; ii++) {
        if (!PropTbl[ii]) {
          PropTbl[ii] = "0";
        }
      }
    } else if (ParamStrTbl[0] == "Alf") {
      for (var ii=0 ; ii<=3 ; ii++) {
        if (!PropTbl[ii]) {
          PropTbl[ii] = "0";
        }
      }
    } else if (ParamStrTbl[0] == "DateTime") {
      for (var ii=0 ; ii<=1 ; ii++) {
        if (!PropTbl[ii]) {
          PropTbl[ii] = "0";
        }
      }
    } else if (ParamStrTbl[0] == "Name") {
      for (var ii=0 ; ii<=4 ; ii++) {
        if (!PropTbl[ii]) {
          PropTbl[ii] = "0";
        }
      }
    } else if (ParamStrTbl[0] == "Yubin") {
      for (var ii=0 ; ii<=0 ; ii++) {
        if (!PropTbl[ii]) {
          PropTbl[ii] = "0";
        }
      }
    } else if (ParamStrTbl[0] == "TelFax") {
      for (var ii=0 ; ii<=0 ; ii++) {
        if (!PropTbl[ii]) {
          PropTbl[ii] = "0";
        }
      }
    }

    ParamStrTbl[1] = PropTbl;

    return ParamStrTbl;

  }

}


//**************************
//*  [Enter] キー入力制限  *
//**************************
CommonClass.prototype.EnterKeyCancel = function() {

  var EventCapture = this.GetEventCapture();
  var EventElement = this.GetEventElement();
  var EventKeyCode = this.GetEventKeyCode();

  if (EventKeyCode["keyCode"] == 0x0d) {
    //**** 制限処理 ***
    Restrict()
    return false;
  }

  return false;

  //**** 制限処理 ***
  function Restrict() {

    if (EventCapture.preventDefault) {
      EventCapture.preventDefault();
    } else {
      EventCapture.returnValue = false;
    }

    return false;

  }

}


//********************
//*  キーダウン制限  *
//********************
CommonClass.prototype.KeyDownControl = function() {

  var EventCapture = this.GetEventCapture();
  var EventElement = this.GetEventElement();
  var EventKeyCode = this.GetEventKeyCode();

  return false;

}


//******************
//*  キー入力制限  *
//******************
CommonClass.prototype.KeyPressControl = function() {

  var EventCapture = this.GetEventCapture();
  var EventElement = this.GetEventElement();
  var EventKeyCode = this.GetEventKeyCode();

  //*** 数値入力許可処理 ***
  if (this.InArrayKey(["Num", "Alf", "DateTime", "Yubin", "TelFax"], EventElement.ParamTbl, "OR") == "True") {
    if (this.KeyInJudge(EventElement, EventKeyCode["keyCode"], EventCapture.key) == false) {
      //**** 制限処理 ***
      Restrict()
      return true;
    }
  }

  //*** [Enter] キー入力拒否処理 ***
  if (EventKeyCode["keyCode"] == 0x0d) {
    //**** 制限処理 ***
    Restrict()
    window.event.keyCode += 0x00;
    return false;
  }

  return false;

  //**** 制限処理 ***
  function Restrict() {

    if (EventCapture.preventDefault) {
      EventCapture.preventDefault();
    } else {
      EventCapture.returnValue = false;
    }

    return false;

  }

}


//***********************
//*  キー入力情報 判定  *
//***********************
CommonClass.prototype.KeyInJudge = function(EventElement, InputKeyCode, InputKeyChara) {

  if (this.InArrayKey(["Num", "Alf", "DateTime", "Yubin", "TelFax"], EventElement.ParamTbl, "OR") == "False") {
    return true;
  }

  //*** 数値入力許可処理 ***
  if (this.InArrayKey(["Num"], EventElement.ParamTbl, "OR") == "True") {
    //*** 小数点 (ピリオド) ***
    if ((Number(EventElement.ParamTbl["Num"][1]) > 0) && (InputKeyCode == 0x2e)) {
      var NumericJudgeFlag = true;
      var DeletePeriodWork = EventElement.value.replace(/\./g, "");
      if (EventElement.value.length - DeletePeriodWork.length >= 1) {
        NumericJudgeFlag = false;
      }
      if (NumericJudgeFlag == true) {
        return true;
      }
    }
    //*** マイナス (ハイフン) ***
    if ((["1"].indexOf(EventElement.ParamTbl["Num"][2]) >= 0) && (InputKeyCode == 0x2d) && (EventElement.selectionStart == 0)) {
      var NumericJudgeFlag = true;
      var DeleteHyphenWork = EventElement.value.replace(/\-/g, "");
      if (EventElement.value.length - DeleteHyphenWork.length >= 1) {
        NumericJudgeFlag = false;
      }
      if (NumericJudgeFlag == true) {
        return true;
      }
    }
    //*** 数字 ***
    if ((InputKeyCode >= 0x30) && (InputKeyCode <= 0x39)) {
      var KeyinStringWork = EventElement.value.substr(0, EventElement.selectionStart) + InputKeyChara + EventElement.value.substr(EventElement.selectionEnd);
      KeyinStringWork = KeyinStringWork.replace(/[\-,]/g, "");
      var NumericTbl = String(KeyinStringWork).split(".");
      if (NumericTbl.length <= 1) {
        NumericTbl[1] = "";
      }
      var NumericJudgeFlag = true;
      if ((Number(EventElement.ParamTbl["Num"][0]) > 0) && (NumericTbl[0].length > Number(EventElement.ParamTbl["Num"][0]))) {
        NumericJudgeFlag = false;
      }
      if ((Number(EventElement.ParamTbl["Num"][1]) > 0) && (NumericTbl[1].length > Number(EventElement.ParamTbl["Num"][1]))) {
        NumericJudgeFlag = false;
      }
      if (NumericJudgeFlag == true) {
        return true;
      }
    }
  }

  //*** アルファベット入力許可処理 ***
  if (this.InArrayKey(["Alf"], EventElement.ParamTbl, "OR") == "True") {
    //*** 大文字 ***
    if (["1"].indexOf(EventElement.ParamTbl["Alf"][0]) >= 0) {
      if ((InputKeyCode >= 0x41) && (InputKeyCode <= 0x5a)) {
        return true;
      }
      if (["0"].indexOf(EventElement.ParamTbl["Alf"][1]) >= 0) {
        if ((InputKeyCode >= 0x61) && (InputKeyCode <= 0x7a)) {
          window.event.keyCode -= 0x20;
          return true;
        }
      }
    }
    //*** 小文字 ***
    if (["1"].indexOf(EventElement.ParamTbl["Alf"][1]) >= 0) {
      if ((InputKeyCode >= 0x61) && (InputKeyCode <= 0x7a)) {
        return true;
      }
      if (["0"].indexOf(EventElement.ParamTbl["Alf"][0]) >= 0) {
        if ((InputKeyCode >= 0x41) && (InputKeyCode <= 0x5a)) {
          window.event.keyCode += 0x20;
          return true;
        }
      }
    }
    //*** 数字 ***
    if ((["1"].indexOf(EventElement.ParamTbl["Alf"][2]) >= 0) && (InputKeyCode >= 0x30) && (InputKeyCode <= 0x39)) {
      return true;
    }
    //*** スペース ***
    if ((["1"].indexOf(EventElement.ParamTbl["Alf"][3]) >= 0) && (InputKeyCode == 0x20)) {
      return true;
    }
  }

  //*** 日付・時刻入力許可処理 ***
  if (this.InArrayKey(["DateTime"], EventElement.ParamTbl, "OR") == "True") {
    //*** マイナス (ハイフン) ***
    if ((["1"].indexOf(EventElement.ParamTbl["DateTime"][0]) >= 0) && (InputKeyCode == 0x2d)) {
      var NumericJudgeFlag = true;
      var DeleteHyphenWork = EventElement.value.replace(/\-/g, "");
      if (EventElement.value.length - DeleteHyphenWork.length >= 2) {
        NumericJudgeFlag = false;
      }
      var KeyinStringWork = EventElement.value.substr(0, EventElement.selectionStart) + InputKeyChara + EventElement.value.substr(EventElement.selectionEnd);
      var DeleteHyphenWork = KeyinStringWork.replace(/\-\-/g, "");
      if (KeyinStringWork.length - DeleteHyphenWork.length != 0) {
        NumericJudgeFlag = false;
      }
      if (NumericJudgeFlag == true) {
        return true;
      }
    }
    //*** コロン ***
    if ((["1"].indexOf(EventElement.ParamTbl["DateTime"][1]) >= 0) && (InputKeyCode == 0x3a)) {
      var NumericJudgeFlag = true;
      var DeleteHyphenWork = EventElement.value.replace(/:/g, "");
      if (EventElement.value.length - DeleteHyphenWork.length >= 2) {
        NumericJudgeFlag = false;
      }
      var KeyinStringWork = EventElement.value.substr(0, EventElement.selectionStart) + InputKeyChara + EventElement.value.substr(EventElement.selectionEnd);
      var DeleteHyphenWork = KeyinStringWork.replace(/::/g, "");
      if (KeyinStringWork.length - DeleteHyphenWork.length != 0) {
        NumericJudgeFlag = false;
      }
      if (NumericJudgeFlag == true) {
        return true;
      }
    }
    //*** スペース (空白) ***
    if ((["1"].indexOf(EventElement.ParamTbl["DateTime"][0]) >= 0) && (["1"].indexOf(EventElement.ParamTbl["DateTime"][1]) >= 0) && (InputKeyCode == 0x20)) {
      var NumericJudgeFlag = true;
      var DeleteHyphenWork = EventElement.value.replace(/ /g, "");
      if (EventElement.value.length - DeleteHyphenWork.length >= 2) {
        NumericJudgeFlag = false;
      }
      var KeyinStringWork = EventElement.value.substr(0, EventElement.selectionStart) + InputKeyChara + EventElement.value.substr(EventElement.selectionEnd);
      var DeleteHyphenWork = KeyinStringWork.replace(/  /g, "");
      if (KeyinStringWork.length - DeleteHyphenWork.length != 0) {
        NumericJudgeFlag = false;
      }
      if (NumericJudgeFlag == true) {
        return true;
      }
    }
    //*** 数字 ***
    if ((InputKeyCode >= 0x30) && (InputKeyCode <= 0x39)) {
      return true;
    }
  }

  //*** 郵便番号入力許可処理 ***
  if (this.InArrayKey(["Yubin"], EventElement.ParamTbl, "OR") == "True") {
    //*** マイナス (ハイフン) ***
    if (InputKeyCode == 0x2d) {
      var NumericJudgeFlag = true;
      var DeleteHyphenWork = EventElement.value.replace(/\-/g, "");
      if (EventElement.value.length - DeleteHyphenWork.length >= 1) {
        NumericJudgeFlag = false;
      }
      if (NumericJudgeFlag == true) {
        return true;
      }
    }
    //*** 数字 ***
    if ((InputKeyCode >= 0x30) && (InputKeyCode <= 0x39)) {
      return true;
    }
  }

  //*** 電話番号、FAX番号など入力許可処理 ***
  if (this.InArrayKey(["TelFax"], EventElement.ParamTbl, "OR") == "True") {
    //*** マイナス (ハイフン) ***
    if (InputKeyCode == 0x2d) {
      var NumericJudgeFlag = true;
      var DeleteHyphenWork = EventElement.value.replace(/\-/g, "");
      if (EventElement.value.length - DeleteHyphenWork.length >= 4) {
        NumericJudgeFlag = false;
      }
      var KeyinStringWork = EventElement.value.substr(0, EventElement.selectionStart) + InputKeyChara + EventElement.value.substr(EventElement.selectionEnd);
      var DeleteHyphenWork = KeyinStringWork.replace(/\-\-/g, "");
      if (KeyinStringWork.length - DeleteHyphenWork.length != 0) {
        NumericJudgeFlag = false;
      }
      if (NumericJudgeFlag == true) {
        return true;
      }
    }
    //*** 数字 ***
    if ((InputKeyCode >= 0x30) && (InputKeyCode <= 0x39)) {
      return true;
    }
  }

  return false;

}


//**************************
//*  テキスト入力内容制限  *
//**************************
CommonClass.prototype.KeyInputControl = function() {

  var EventCapture = this.GetEventCapture();
  var EventElement = this.GetEventElement();
  var EventKeyCode = this.GetEventKeyCode();

  return false;

}


//************************************
//*  キー入力項目フォーカスイン処理  *
//************************************
CommonClass.prototype.KeyFocusControl = function() {

  var EventCapture = this.GetEventCapture();
  var EventElement = this.GetEventElement();
  var EventKeyCode = this.GetEventKeyCode();

  //*** 数値 [Num] ***
  if (this.InArrayKey(["Num"], EventElement.ParamTbl, "OR") == "True") {
    if (EventElement.value == "") {
      EventElement.value = 0;
    }
    EventElement.value = parseFloat(this.numeric_extract(EventElement.value));
  }

  EventElement.select();

  return true;

}


//**************************************
//*  キー入力項目フォーカスアウト処理  *
//**************************************
CommonClass.prototype.KeyBlurControl = function() {

  var ThisInstance = this;

  var EventCapture = this.GetEventCapture();
  var EventElement = this.GetEventElement();
  var EventKeyCode = this.GetEventKeyCode();

  var AlertMessageTest = "";

  //*** 両端の空白を削除 ***
  if (this.InArrayKey(["Num", "Alf", "DateTime", "Name", "Yubin", "TelFax", "MailAddress", "Url"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.trim();
  }

  //*** ハイフンまたは長音を調整 ***
  if (this.InArrayKey(["Num"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.AdjustHorizontalBar(true, false, true, true, true);
  }
  if (this.InArrayKey(["Name"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.AdjustHorizontalBar(true, true, true, true, false);
  }
  if (this.InArrayKey(["DateTime", "Yubin", "TelFax"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.AdjustHorizontalBar(true, true, true, true, true);
  }
  if (this.InArrayKey(["MailAddress", "Url"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.AdjustHorizontalBar(false, true, true, true, true);
  }
  if (this.InArrayKey(["HalfWidth", "FullWidth"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.AdjustHorizontalBar(false, false, false, false, false);
  }

  //*** ひらがな→カタカナ、全角→半角 変換 ***
  if (this.InArrayKey(["Num", "Alf", "DateTime", "Yubin", "TelFax", "MailAddress", "Url", "HalfWidth"], EventElement.ParamTbl, "OR") == "True") {
    if (this.InArrayKey(["HalfWidth"], EventElement.ParamTbl, "OR") == "True") {
      EventElement.value = EventElement.value.Hira2Kata();
    }
    EventElement.value = EventElement.value.Unc2Asc();
  }

  //*** 半角→全角 変換 ***
  if (this.InArrayKey(["Name", "FullWidth"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.Asc2Unc();
  }

  var SaveEventElementValue = EventElement.value;

  //*** 数値 正規化 [Num] ***
  if (this.InArrayKey(["Num"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.replace(/[^0-9\+\-\.]/g, "");
    EventElement.value = EventElement.value.replace(/^([\+\-]?)[\+\-\.]*(.*?)[\+\-\.]*$/g, function(Str, Match01, Match02) {
      Match02 = Match02.replace(/[^0-9\.]/g, "");
      Match02 = Match02.replace(/(\.)[\.]*/g, "$1");
      if (Match02 != "") {;
        return Match01 + Match02;
      } else {
        return "0";
      }
    });
    NumInputCheck();
  }

  //*** アルファベット 正規化 [Alf] ***
  if (this.InArrayKey(["Alf"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.replace(/[^A-Za-z0-9 ]/g, "");
    AlfInputCheck();
  }

  //*** 日付・時刻 正規化 [DateTime] ***
  if (this.InArrayKey(["DateTime"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.replace(/[^0-9\-: ]/g, "");
    EventElement.value = EventElement.value.replace(/^[^0-9]*(.*?)[^0-9]*$/g, "$1");
    if (EventElement.value != "") {
      SaveEventElementValue = EventElement.value;
      EventElement.value = EventElement.value.replace(/[^0-9 ]/g, "");
      if (["1"].indexOf(EventElement.ParamTbl["DateTime"][0]) >= 0) {
        if (["1"].indexOf(EventElement.ParamTbl["DateTime"][1]) >= 0) {
          if (EventElement.value.match(/^[0-9]+?[ ]+?[0-9]+?$/)) {
            EventElement.value = EventElement.value.replace(/^([0-9]+?)[ ]+?([0-9]+?)$/g, function(Str, Match01, Match02) {
              Match01 = Match01.replace(/^([0-9]{4})([0-9]{2})([0-9]{2})$/g, "$1-$2-$3");
              Match02 = Match02.replace(/^([0-9]{2})([0-9]{2})([0-9]{2})$/g, "$1:$2:$3");
              return Match01 + " " + Match02;
            });
          } else {
            EventElement.value = EventElement.value.replace(/^([0-9]{8})([0-9]+?)$/g, function(Str, Match01, Match02) {
              Match01 = Match01.replace(/^([0-9]{4})([0-9]{2})([0-9]{2})$/g, "$1-$2-$3");
              Match02 = Match02.replace(/^([0-9]{2})([0-9]{2})([0-9]{2})$/g, "$1:$2:$3");
              return Match01 + " " + Match02;
            });
          }
        } else if (["0"].indexOf(EventElement.ParamTbl["DateTime"][1]) >= 0) {
          EventElement.value = EventElement.value.replace(/^([0-9]{4})([0-9]{2})([0-9]{2})$/g, "$1-$2-$3");
        }
      } else if (["0"].indexOf(EventElement.ParamTbl["DateTime"][0]) >= 0) {
        if (["1"].indexOf(EventElement.ParamTbl["DateTime"][1]) >= 0) {
          EventElement.value = EventElement.value.replace(/^([0-9]{2})([0-9]{2})([0-9]{2})$/g, "$1:$2:$3");
        }
      }
    }
    DateTimeInputCheck();
  }

  //*** 名前 正規化 [Name] ***
  if (this.InArrayKey(["Name"], EventElement.ParamTbl, "OR") == "True") {
    var RegPattern = "　";
    if (["1"].indexOf(EventElement.ParamTbl["Name"][1]) >= 0) {
      //* 漢字 *
      RegPattern += "\u3000-\u303F\u3100-\uFAFF";
    }
    if ((["1"].indexOf(EventElement.ParamTbl["Name"][2]) >= 0)
      || (["1"].indexOf(EventElement.ParamTbl["Name"][3]) >= 0)) {
      if ((["1"].indexOf(EventElement.ParamTbl["Name"][2]) >= 0)
        && (["1"].indexOf(EventElement.ParamTbl["Name"][3]) < 0)) {
        EventElement.value = EventElement.value.Kata2Hira();
      }
      if ((["1"].indexOf(EventElement.ParamTbl["Name"][2]) < 0)
        && (["1"].indexOf(EventElement.ParamTbl["Name"][3]) >= 0)) {
        EventElement.value = EventElement.value.Hira2Kata();
      }
      if (["1"].indexOf(EventElement.ParamTbl["Name"][2]) >= 0) {
        //* ひらがな *
        RegPattern += "\u3040-\u3096";
      }
      if (["1"].indexOf(EventElement.ParamTbl["Name"][3]) >= 0) {
        //* カタカナ *
        RegPattern += "\u30A0-\u30FA";
      }
      RegPattern += "\u3097-\u309F\u30FB-\u30FF";
    }
    if (["1"].indexOf(EventElement.ParamTbl["Name"][4]) >= 0) {
      RegPattern += "！-～";
    }
    var RegExpObj = new RegExp("[^" + RegPattern + "]", "g");
    EventElement.value = EventElement.value.replace(RegExpObj, "");
    if (["0"].indexOf(EventElement.ParamTbl["Name"][0]) >= 0) {
      EventElement.value = EventElement.value.AscKata2UncKata();
      EventElement.value = EventElement.value.UncSymbol2AscSymbol();
      EventElement.value = EventElement.value.UncNum2AscNum();
      EventElement.value = EventElement.value.UncAlf2AscAlf();
      EventElement.value = EventElement.value.replace(/([\u3000-\uFAFF])[ 　]+([\u3000-\uFAFF])/g, "$1　$2");
      EventElement.value = EventElement.value.replace(/([ -~])[ 　]+([ -~])/g, "$1 $2");
      EventElement.value = EventElement.value.replace(/([ -~])[ 　]+([\u3000-\uFAFF])/g, "$1　$2");
      EventElement.value = EventElement.value.replace(/([\u3000-\uFAFF])[ 　]+([ -~])/g, "$1　$2");
    } else if (["1"].indexOf(EventElement.ParamTbl["Name"][0]) >= 0) {
      var JudgeWork = EventElement.value.AscKata2UncKata();
      JudgeWork = JudgeWork.UncSymbol2AscSymbol();
      JudgeWork = JudgeWork.UncNum2AscNum();
      JudgeWork = JudgeWork.UncAlf2AscAlf();
      JudgeWork = JudgeWork.replace(/[ -~]/g, "");
      if (JudgeWork == "") {
        EventElement.value = EventElement.value.Unc2Asc();
      } else {
        EventElement.value = EventElement.value.Asc2Unc();
      }
    } else if (["2"].indexOf(EventElement.ParamTbl["Name"][0]) >= 0) {
      EventElement.value = EventElement.value.AscKata2UncKata();
    }
    EventElement.value = EventElement.value.replace(/([ 　])[ 　]*/g, "$1").trim();
    NameInputCheck();
  }

  //*** 郵便番号 正規化 [Yubin] ***
  if (this.InArrayKey(["Yubin"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.replace(/[^0-9\-]/g, "");
    EventElement.value = EventElement.value.replace(/^[^0-9]*(.*?)[^0-9]*$/g, "$1");
    if (["1"].indexOf(EventElement.ParamTbl["Yubin"][0]) >= 0) {
      if (EventElement.value != "") {
        SaveEventElementValue = EventElement.value;
        EventElement.value = EventElement.value.replace(/[^0-9]/g, "");
        EventElement.value = EventElement.value.replace(/^([0-9]{3})([0-9]{4})$/g, "$1-$2");
      }
    }
    YubinInputCheck();
  }

  //*** 電話番号、FAX番号など 正規化 [TelFax] ***
  if (this.InArrayKey(["TelFax"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.replace(/[^0-9\-]/g, "");
    EventElement.value = EventElement.value.replace(/^[^0-9]*(.*?)[^0-9]*$/g, "$1");
    if (["1"].indexOf(EventElement.ParamTbl["TelFax"][0]) >= 0) {
      if (EventElement.value != "") {
        SaveEventElementValue = EventElement.value;
        this.getHTML("POST", this.URLSet("auto", "Common") + "GetTelcdFormat.php?tc=" + EventElement.value, undefined, false, function (xmlobj) {
          var XMLWork = xmlobj.responseXML;
          var OutputTelcdXML = XMLWork.getElementsByTagName("OutputTelcd");
          var ErrorMessageXML = XMLWork.getElementsByTagName("ErrorMessage");
          if (ThisInstance.GetXMLTextContent(ErrorMessageXML[0]) == "") {
            EventElement.value = ThisInstance.GetXMLTextContent(OutputTelcdXML[0]);
          } else {
            alert(ThisInstance.GetXMLTextContent(ErrorMessageXML[0]));
          }
          return false;
        });
      }
    }
    TelFaxInputCheck();
  }

  //*** メールアドレス 正規化 [MailAddress] ***
  //***************************************************************************************
  //*** RFC の仕様によれば、「!#$%&'*+-/=?^_`{|}~.」の記号が使用できるとされているが、  ***
  //*** 他社の Web システムによれば制限されて使えない場合もあるため、                   ***
  //*** 使用可能な記号を「-_.」と「@」に限定する。                                      ***
  //***************************************************************************************
  if (this.InArrayKey(["MailAddress"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.replace(/[^a-zA-Z0-9\-_\.@]/g, "");
    EventElement.value = EventElement.value.replace(/^([a-zA-Z0-9\-_\.]+)[@]+([a-zA-Z0-9\-_\.@]+)$/g, function(Str, Match01, Match02) {
      Match02 = Match02.replace(/[^a-zA-Z0-9\-_\.]/g, "");
      return Match01 + "@" + Match02;
    });
    EventElement.value = EventElement.value.replace(/^[^a-zA-Z0-9]*(.*?)[^a-zA-Z0-9]*$/g, "$1");
    MailAddressInputCheck();
  }

  //*** URL 正規化 [Url] ***
  if (this.InArrayKey(["Url"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.replace(/[^a-zA-Z0-9:\-\/_\.]/g, "");
    EventElement.value = EventElement.value.replace(/^(http[s]?:\/\/)(.*?)$/g, function(Str, Match01, Match02) {
      Match02 = Match02.replace(/[^a-zA-Z0-9\-\/_\.]/g, "");
      return Match01 + Match02;
    });
    EventElement.value = EventElement.value.replace(/^[^a-zA-Z0-9]*(.*?)[^a-zA-Z0-9]*$/g, "$1");
    UrlInputCheck();
  }

  //*** 半角文字 正規化 [HalfWidth] ***
  if (this.InArrayKey(["HalfWidth"], EventElement.ParamTbl, "OR") == "True") {
    EventElement.value = EventElement.value.replace(/[^ -~｡-ﾟ]/g, "");
    HalfWidthInputCheck();
  }

  //*** 全角文字 正規化 [FullWidth] ***
  if (this.InArrayKey(["FullWidth"], EventElement.ParamTbl, "OR") == "True") {
    FullWidthInputCheck();
  }

  //*** エラーメッセージ ***
  if (AlertMessageTest == "") {
    this.DisplayShowControl(EventElement);
  } else {
    EventElement.value = SaveEventElementValue;
    alert(AlertMessageTest);
    setTimeout(function() {
      EventElement.focus();
      EventElement.select();
    }, 100);
  }

  return true;


  //++--------------------------++
  //||  数値入力チェック [Num]  ||
  //++--------------------------++
  function NumInputCheck () {

    if (EventElement.value == "") {
      EventElement.value = 0;
    }

    if (!EventElement.value.match(/^[\+\-]?[0-9]*\.?[0-9]*$/)) {
      AlertMessageTest += "数値として読み取れません。\n";
      return false;
    }

    var ValueWork = parseFloat(ThisInstance.numeric_extract(EventElement.value));

    if (["1"].indexOf(EventElement.ParamTbl["Num"][6]) >= 0) {
      if (ValueWork == 0) {
        EventElement.value = "";
        return false;
      }
    }

    var NumTbl = String(ValueWork).split(".");

    if ((Number(EventElement.ParamTbl["Num"][0]) >= 0) && (NumTbl[0].replace(/[\+\-]/g, "").length > Number(EventElement.ParamTbl["Num"][0]))) {
      var AlertWork = "";
      if (Number(EventElement.ParamTbl["Num"][1]) <= 0) {
        AlertWork = "数値";
      } else {
        AlertWork = "整数部";
      }
      AlertMessageTest += AlertWork + "の制限桁数を超えました。\n" + AlertWork + "の制限桁数=" + EventElement.ParamTbl["Num"][0] + "桁\n";
      return false;
    }

    if (NumTbl[1] != undefined) {
      if ((Number(EventElement.ParamTbl["Num"][1]) >= 0) && (NumTbl[1].length > Number(EventElement.ParamTbl["Num"][1]))) {
        AlertMessageTest += "小数部の制限桁数を超えました。\n小数部の制限桁数=" + EventElement.ParamTbl["Num"][1] + "桁\n";
        return false;
      }
    }

    return false;

  }


  //++------------------------------------++
  //||  アルファベット入力チェック [Alf]  ||
  //++------------------------------------++
  function AlfInputCheck () {

    return false;

  }


  //++-------------------------------------++
  //||  日付・時刻入力チェック [DateTime]  ||
  //++-------------------------------------++
  function DateTimeInputCheck () {

    if (EventElement.value == "") {
      return false;
    }

    if (["1"].indexOf(EventElement.ParamTbl["DateTime"][0]) >= 0) {
      if (["1"].indexOf(EventElement.ParamTbl["DateTime"][1]) >= 0) {
        if (EventElement.value.match(/^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$/)) {
          EventElement.value.replace(/^([0-9\-]+?) ([0-9:]+?)$/g, function(Str, Match01, Match02) {
            var DateJudgeFlag = true;
            Match01.replace(/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/g, function(Str01, Match0101, Match0102, Match0103) {
              if (ThisInstance.DateValidityCheck(Number(Match0101), Number(Match0102), Number(Match0103)) == false) {
                DateJudgeFlag = false;
              }
            });
            Match02.replace(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/g, function(Str02, Match0201, Match0202, Match0203) {
              if (ThisInstance.TimeValidityCheck(Number(Match0201), Number(Match0202), Number(Match0203)) == false) {
                DateJudgeFlag = false;
              }
            });
            if (DateJudgeFlag == false) {
              AlertMessageTest += "日付・時刻として認識できません。\n「-」(ハイフン)、「:」(コロン) を付けて 'YYYY-MM-DD hh:mm;ss' の書式で入力して下さい。\n";
            }
          });
        } else {
          AlertMessageTest += "日付・時刻の書式が間違っています。\n「-」(ハイフン)、「:」(コロン) を付けて 'YYYY-MM-DD hh:mm;ss' の書式で入力して下さい。\n";
        }
      } else {
        if (EventElement.value.match(/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/)) {
          var DateJudgeFlag = true;
          EventElement.value.replace(/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/g, function(Str, Match01, Match02, Match03) {
            if (ThisInstance.DateValidityCheck(Number(Match01), Number(Match02), Number(Match03)) == false) {
              DateJudgeFlag = false;
            }
          });
          if (DateJudgeFlag == false) {
            AlertMessageTest += "日付として認識できません。\n「-」(ハイフン)、「:」(コロン) を付けて 'YYYY-MM-DD hh:mm;ss' の書式で入力して下さい。\n";
          }
        } else {
          AlertMessageTest += "日付の書式が間違っています。\n「-」(ハイフン) を付けて 'YYYY-MM-DD' の書式で入力して下さい。\n";
        }
      }
    } else {
      if (["1"].indexOf(EventElement.ParamTbl["DateTime"][1]) >= 0) {
        if (EventElement.value.match(/^[0-9]{2}:[0-9]{2}:[0-9]{2}$/)) {
          var DateJudgeFlag = true;
          EventElement.value.replace(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/g, function(Str, Match01, Match02, Match03) {
            if (ThisInstance.TimeValidityCheck(Number(Match01), Number(Match02), Number(Match03)) == false) {
              DateJudgeFlag = false;
            }
          });
          if (DateJudgeFlag == false) {
            AlertMessageTest += "時刻として認識できません。\n「-」(ハイフン)、「:」(コロン) を付けて 'YYYY-MM-DD hh:mm;ss' の書式で入力して下さい。\n";
          }
        } else {
          AlertMessageTest += "時刻の書式が間違っています。\n「:」(コロン) を付けて 'hh:mm:ss' の書式で入力して下さい。\n";
        }
      }
    }

    return false;

  }


  //++--------------------------++
  //||  名前入力チェック [Name]  ||
  //++--------------------------++
  function NameInputCheck () {

    if (EventElement.value == "") {
      return false;
    }

    if (!EventElement.value.match(/[ 　]+/)) {
      AlertMessageTest += "「姓」と「名」の間をスペースで区切ってください\n";
      return false;
    }

    return false;

  }


  //++--------------------------------++
  //||  郵便番号入力チェック [Yubin]  ||
  //++--------------------------------++
  function YubinInputCheck () {

    if (EventElement.value == "") {
      return false;
    }

    if (!EventElement.value.match(/^[0-9]{3}-[0-9]{4}$/)) {
      AlertMessageTest += "郵便番号の書式が間違っています。\nハイフンを付けて合計８文字で入力して下さい。\n";
      return false;
    }

    return false;

  }


  //++----------------------------------------------++
  //||  電話番号、FAX番号など入力チェック [TelFax]  ||
  //++----------------------------------------------++
  function TelFaxInputCheck () {

    if (EventElement.value == "") {
      return false;
    }

    if (!EventElement.value.match(/^(0[0-9]{1,4}-[2-9][0-9]{1,4}-[0-9]{4}|0[5789]0-[1-9][0-9]{3}-[0-9]{4}|[1-9][0-9]{0,5}-[0-9\-]+)$/)) {
      AlertMessageTest += "電話番号の書式が間違っています。\n市外局番または国番号からハイフンを付けて入力して下さい。\n";
      return false;
    }

    return false;

  }


  //++--------------------------------------------++
  //||  メールアドレス入力チェック [MailAddress]  ||
  //++--------------------------------------------++
  function MailAddressInputCheck () {

    if (EventElement.value == "") {
      return false;
    }

    if (!EventElement.value.match(/^[a-zA-Z0-9\-_\.]+\@[a-zA-Z0-9\-_\.]+\.[a-zA-Z]{2,6}$/)) {
      AlertMessageTest += "メールアドレスの書式が間違っています\n";
      return false;
    }

    return false;

  }


  //++--------------------------++
  //||  URL 入力チェック [Url]  ||
  //++--------------------------++
  function UrlInputCheck () {

    if (EventElement.value == "") {
      return false;
    }

    if (!EventElement.value.match(/^http[s]?:\/\/[a-zA-Z0-9\-\/_\.]+$/)) {
      AlertMessageTest += "URL の書式が間違っています\n";
      return false;
    }

    return false;

  }


  //++------------------------------------++
  //||  半角文字入力チェック [HalfWidth]  ||
  //++------------------------------------++
  function HalfWidthInputCheck () {

    return false;

  }


  //++------------------------------------++
  //||  全角文字入力チェック [FullWidth]  ||
  //++------------------------------------++
  function FullWidthInputCheck () {

    return false;

  }


}


//*************************************
//*  キー入力・情報表示項目 編集処理  *
//*************************************
CommonClass.prototype.DisplayShowControl = function(InputElementObj) {

  var ThisInstance = this;

  //*** 数値 表示内容編集 [Num] ***
  if (this.InArrayKey(["Num"], InputElementObj.ParamTbl, "OR") == "True") {
    if (InputElementObj.value == "") {
      InputElementObj.value = 0;
    }
    var ValueWork = parseFloat(this.numeric_extract(InputElementObj.value));
    if (["1"].indexOf(InputElementObj.ParamTbl["Num"][6]) >= 0) {
      if (ValueWork == 0) {
        InputElementObj.value = "";
        return false;
      }
    }
    var NumTbl = String(ValueWork).split(".");
    //* 整数部 編集 *
    if (["0"].indexOf(InputElementObj.ParamTbl["Num"][0]) < 0) {
      NumTbl[0] = NumTbl[0].replace(/^([\+\-]?)(.*?)$/g, function(Str, Match01, Match02) {
        if (Match02.length > Number(InputElementObj.ParamTbl["Num"][0])) {
          Match02 = Match02.substr(Match02.length - Number(InputElementObj.ParamTbl["Num"][0]), Number(InputElementObj.ParamTbl["Num"][0]));
        }
        if (["0"].indexOf(InputElementObj.ParamTbl["Num"][3]) >= 0) {
          if (["1"].indexOf(InputElementObj.ParamTbl["Num"][4]) >= 0) {
            Match02 = ThisInstance.NumericZeroFormat(Match02, Number(InputElementObj.ParamTbl["Num"][0]));
          }
        } else if (["1"].indexOf(InputElementObj.ParamTbl["Num"][3]) >= 0) {
          Match02 = ThisInstance.numeric_comma_separated(Match02);
        }
        if (["0"].indexOf(InputElementObj.ParamTbl["Num"][2]) >= 0) {
          return Match02;
        } else if (["1"].indexOf(InputElementObj.ParamTbl["Num"][2]) >= 0) {
          return Match01 + Match02;
        }
      });
    }
    //* 少数部 編集 *
    if (["0"].indexOf(InputElementObj.ParamTbl["Num"][1]) < 0) {
      if (["0"].indexOf(InputElementObj.ParamTbl["Num"][3]) >= 0) {
        if (["0"].indexOf(InputElementObj.ParamTbl["Num"][5]) >= 0) {
          if (NumTbl[1] != undefined) {
            NumTbl[1] = NumTbl[1].substr(0, Number(InputElementObj.ParamTbl["Num"][1]));
          }
        } else if (["1"].indexOf(InputElementObj.ParamTbl["Num"][5]) >= 0) {
          if (NumTbl[1] == undefined) {
            NumTbl[1] = "";
          }
          ZeroString = this.repeat("0", Number(InputElementObj.ParamTbl["Num"][1]));
          var NumberWork = NumTbl[1] + ZeroString;
          NumTbl[1] = NumberWork.substr(0, Number(InputElementObj.ParamTbl["Num"][1]));
        }
      }
    }
    InputElementObj.value = NumTbl.join(".");
  }

  return true;

}


//********************
//*  html タグ 追加  *
//********************
CommonClass.prototype.AddTagElement = function (ParentTag, TagName, AttributeTbl, StyleTbl, AddLocation) {

  var ThisInstance = this;

  if (AttributeTbl == undefined) {
    AttributeTbl = {};
  }
  if (StyleTbl == undefined) {
    StyleTbl = {};
  }

  if (AddLocation == undefined) {
    AddLocation = "Bottom";
  }

  var TagObjSet = this.CreateTagElement(TagName, AttributeTbl, StyleTbl);

  if (AddLocation == "Top") {
    ParentTag.insertBefore(TagObjSet, ParentTag.firstChild);
  } else if (AddLocation == "Bottom") {
    ParentTag.appendChild(TagObjSet);
  }

  return TagObjSet;

}


//********************
//*  html タグ 生成  *
//********************
CommonClass.prototype.CreateTagElement = function (TagName, AttributeTbl, StyleTbl) {

  var ThisInstance = this;

  var InputTypeButton = false;
  var InputTypeImage = false;

  var TagObjSet = document.createElement(TagName);

  for (var Key in AttributeTbl) {
    TagObjSet.setAttribute(Key, AttributeTbl[Key]);
    if (TagName == "input") {
      if (Key == "type") {
        if (AttributeTbl[Key] == "button") {
          InputTypeButton = true;
        } else if (AttributeTbl[Key] == "image") {
          InputTypeImage = true;
        }
      }
    }
  }

  for (var Key in StyleTbl) {
    TagObjSet.style[Key] = StyleTbl[Key];
  }

  return TagObjSet;

}


//***********************
//*  イベント処理 追加  *
//***********************
CommonClass.prototype.AddEvent = function (obj, type, listener) {

  var ThisInstance = this;

  if (obj.addEventListener) {
    obj.addEventListener(type, listener, false);
  } else if (obj.attachEvent) {
    obj.attachEvent("on" + type, listener);
  } else  {
    obj["on" + type] = listener;
  }

}


//***********************
//*  イベント処理 削除  *
//***********************
CommonClass.prototype.RemoveEvent = function (obj, type, listener) {

  if (obj.removeEventListener) {
    obj.removeEventListener(type, listener, false);
  } else if (obj.detachEvent) {
    obj.detachEvent("on" + type, listener);
  } else  {
    obj["on" + type] = function () {};
  }

}


//***************************************************************************
//*  イベントが発生したイベントキャプチャーの取得 (クロスブラウジング処理)  *
//***************************************************************************
CommonClass.prototype.GetEventCapture = function () {

  var EventCapture = null;

  if (window.event) {
    EventCapture = window.event;
  } else {
    var caller = arguments.callee.caller;
    while (caller){
      var ob = caller.arguments[0];
      if (ob && ob.constructor != undefined) {
        EventCapture = ob;
        break;
      }
      caller = caller.caller;
    }
  }

  return EventCapture;

}


//*****************************************************************
//*  イベントが発生したエレメントの取得 (クロスブラウジング処理)  *
//*****************************************************************
CommonClass.prototype.GetEventElement = function () {

  var EventCapture = this.GetEventCapture();

  var EventElement = null;

  if (EventCapture.srcElement) {
    EventElement = EventCapture.srcElement;;
  } else {
    EventElement = EventCapture.target;
  }

  return EventElement;

}


//**************************************
//*  イベント発生時のキーコードを取得  *
//**************************************
CommonClass.prototype.GetEventKeyCode = function () {

  var EventCapture = this.GetEventCapture();

  var KeyCodeWork = {"altKey"  :false
                   , "ctrlKey" :false
                   , "shiftKey":false
                   , "keyCode" :0};

  if(document.all) {
    KeyCodeWork = {"altKey"  :EventCapture.altKey
                 , "ctrlKey" :EventCapture.ctrlKey
                 , "shiftKey":EventCapture.shiftKey
                 , "keyCode" :EventCapture.keyCode};
  } else if(document.getElementById) {
    KeyCodeWork = {"altKey"  :EventCapture.altKey
                 , "ctrlKey" :EventCapture.ctrlKey
                 , "shiftKey":EventCapture.shiftKey
                 , "keyCode" :EventCapture.keyCode};
  }

  return KeyCodeWork;

}


//**************************************************************
//*  指定したノードに属する子ノード以下を再帰的に全て削除する  *
//*    ※指定したノード自身は削除しない                        *
//**************************************************************
CommonClass.prototype.RemoveChildNodes = function (NodeObj) {

  for (var ii=NodeObj.childNodes.length-1 ; ii>=0 ; ii--) {
    var ChildNode = NodeObj.childNodes[ii];
    if (ChildNode.childNodes.length > 0) {
      this.RemoveChildNodes(ChildNode);
    }
    NodeObj.removeChild(ChildNode);
  }

  return false;

}


//********************************************
//*  id 属性から Element オブジェクトを取得  *
//********************************************
CommonClass.prototype.GetTagElementById = function (id, ParentMode) {

  if (ParentMode == undefined) {
    ParentMode = true;
  }

  if (ParentMode == true) {
    if (document.getElementById) {
      if (document.getElementById(id)) {
        return document.getElementById(id);
      } else {
        return parent.document.getElementById(id);
      }
    } else {
      if (document.all(id)) {
        return document.all(id);
      } else {
        return parent.document.all(id);
      }
    }
  } else {
    if (document.getElementById) {
      return document.getElementById(id);
    } else {
      return document.all(id);
    }
  }

}


//********************************************
//*  Tag オブジェクトを取得（子ウィンドウ）  *
//********************************************
CommonClass.prototype.get_tagobj = function (win, id) {

  if (win.document.getElementById) {
    if (win.document.getElementById(id)) {
      return win.document.getElementById(id);
    } else {
      return win.parent.document.getElementById(id);
    }
  } else {
    if (win.document.all(id)) {
      return win.document.all(id);
    } else {
      return win.parent.document.all(id);
    }
  }

}


//*******************************************************
//*  object の高さを、表示される内容により自動調整する  *
//*******************************************************
CommonClass.prototype.EmbedObjectResize = function (EmbedObjectParam) {

  this.AddEvent(EmbedObjectParam, "load", function () {
    EmbedObjectParam.style.height = EmbedObjectParam.contentWindow.document.documentElement.scrollHeight + "px";
  });

  return false;

}


//*******************
//*  Cookie の保存  *
//*******************
CommonClass.prototype.SetCookie = function (Key, Value, ExpireDays) {

  var CookieStr="";

  var UrlTbl = location.pathname.split("/");

  if (UrlTbl[UrlTbl.length - 1] != "") {
    UrlTbl.splice(UrlTbl.length - 1, 1);
  }

  CookieStr += Key + "=" + escape(Value)
            + ";path=" + UrlTbl.join("/");

  if (ExpireDays != undefined) {
    var LimitSecond = ExpireDays * 60 * 60 * 24;
    var NowTime = new Date().getTime();
    var LimitTime = new Date(NowTime + (ExpireDays * 1000 * 60 * 60 * 24));
    CookieStr += ";max-age=" + LimitSecond;
    CookieStr += ";expires=" + LimitTime.toUTCString();
  }

  document.cookie = CookieStr;

  return true;

}


//*******************
//*  Cookie の取得  *
//*******************
CommonClass.prototype.GetCookie = function (Key) {

  if (document.cookie.length > 0) {
    var StrPos = document.cookie.indexOf(Key + "=");
    if (StrPos >= 0) {
      StrPos = StrPos + Key.length + 1;
      var EndPos = document.cookie.indexOf(";", StrPos);
      if (EndPos < 0) {
        EndPos = document.cookie.length;
      }
      return unescape(document.cookie.substring(StrPos, EndPos));
    }
  }

  return undefined;

}


//*******************
//*  Cookie の削除  *
//*******************
CommonClass.prototype.DeleteCookie = function (Key) {

  var CookieStr="";

  CookieStr += Key + "=";

  var LimitSecond = 0;
  var LimitTime = new Date();
  LimitTime.setTime(0);

  CookieStr += ";max-age=" + LimitSecond;
  CookieStr += ";expires=" + LimitTime.toUTCString();

  document.cookie = CookieStr;

  return true;

}


//************************************************
//*  html 外部ファイル読み込み (Ajax)            *
//************************************************
//*  async = true:非同期で実行 false:同期で実行  *
//************************************************
CommonClass.prototype.getHTML = function (method, fileName, PostParam, async, tagHTML) {

  if (method == "POST") {
    var FileNameTbl = fileName.split("?");
    fileName = FileNameTbl[0];
    if (PostParam == undefined) {
      PostParam = {};
    }
    var FormDataObj = new FormData();
    var ParamJudgeTbl = [];
    for (var keyName in PostParam) {
      if (ParamJudgeTbl[keyName] == undefined) {
        FormDataObj.append(keyName, PostParam[keyName]);
        ParamJudgeTbl[keyName] = PostParam[keyName];
      }
    }
    if (FileNameTbl[1] != undefined) {
      var PostParamTbl = FileNameTbl[1].split("&");
      for (var II=0 ; II<PostParamTbl.length ; II++) {
        var PostParamWork = PostParamTbl[II].split("=");
        if (ParamJudgeTbl[PostParamWork[0]] == undefined) {
          FormDataObj.append(PostParamWork[0], PostParamWork[1]);
          ParamJudgeTbl[PostParamWork[0]] = PostParamWork[1];
        }
      }
    }
  }

  var useragt = window.navigator.userAgent.toUpperCase();

  var html_obj;

  try {
    html_obj = new XMLHttpRequest();                         // IE7以降 Firefox etc ***
  } catch (e){
    try {
      html_obj = new ActiveXObject ("Msxml2.XMLHTTP");       // IE5 IE6
    } catch (e){
      try {
        html_obj = new ActiveXObject ("Microsoft.XMLHTTP");  // IE5 IE6
      } catch (e){
        html_obj = null;
        alert("### Create XMLHttpRequest Object Error (01) ###");
      }
    }
  }

  if (html_obj) {
    if (useragt.indexOf("MSIE") != -1 || useragt.indexOf("LUNASCAPE") != -1) {
      //***** IE ･ Lunascape *****
      html_obj.onreadystatechange = function () {
        if (html_obj.readyState == 4 && html_obj.status == 200) {
          tagHTML(html_obj);
        }
      }
    } else {
      //***** その他 *****
      html_obj.onload = function () {
        if (html_obj.readyState == 4 && html_obj.status == 200) {
          tagHTML(html_obj);
        }
      }
    }
    html_obj.open(method, fileName, async);
    if (method == "POST") {
      html_obj.send(FormDataObj);
    } else {
      html_obj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      html_obj.send();
    }
  }

  return false;

}


//*******************************************************************************
//*  Ajax から読み込んだ読み込んだ XML 情報の responseXML のクロスブラウジング  *
//*******************************************************************************
CommonClass.prototype.GetXMLTextContent = function (ElementTagObj) {

  var TextContentWork = "";

  var useragt = window.navigator.userAgent.toUpperCase();
  if (useragt.indexOf("MSIE") != -1 && useragt.indexOf("LUNASCAPE") == -1) {
    if ((useragt.indexOf("MSIE 6.0") > -1)) {
        TextContentWork = undefined;
    } else {
      if (ElementTagObj.textContent != undefined) {
        TextContentWork = ElementTagObj.textContent
      } else  {
        TextContentWork = ElementTagObj.text
      }
    }
  } else {
    if (ElementTagObj.textContent != undefined) {
      TextContentWork = ElementTagObj.textContent
    } else  {
      TextContentWork = ElementTagObj.text
    }
  }

  return TextContentWork;

}


//*************************************
//*  文字列の右側から n 文字取り出す  *
//*************************************
CommonClass.prototype.right = function (str, n) {

  return str.substr(str.length - n,n);

}


//********************************
//*  文字列から数値のみ抽出する  *
//********************************
CommonClass.prototype.numeric_extract = function (str) {

  var numstr = "";

  if (str != "") {
    numstr = str.toString().match(/[\+-]?[0-9]+[\.]?[0-9]*/g).join("");
  }

  return numstr;

}


//**********************************
//*  同じ文字列を指定回数繰り返す  *
//**********************************
CommonClass.prototype.repeat = function (str, num) {

  var strwrk = (new Array(num + 1)).join(String(str));

  return strwrk;

}


//************************
//*  ３ケタカンマ区切り  *
//************************
CommonClass.prototype.numeric_comma_separated = function (str) {

  var strwrk = this.numeric_extract(str);

  if (strwrk == "") {
    strwrk = "0";
  }

  strwrk = parseFloat(this.numeric_extract(strwrk));

  var OldNum = "";
  var NewNum = strwrk.toString();

  while (NewNum != OldNum) {
    OldNum = NewNum;
    NewNum = NewNum.replace(/^(-?[0-9]+)([0-9]{3})/, "$1,$2");
  }

  return NewNum; 

}


//****************************************************
//*  数値の桁数が指定した桁数に満たない場合、        *
//*  数値の先頭にゼロを追加し一定の桁数にそろえる。  *
//****************************************************
CommonClass.prototype.NumericZeroFormat = function (NumStr, Keta) {

  var ZeroString = this.repeat("0", Keta);

  var NumberWork = ZeroString + String(NumStr);

  NumberWork = NumberWork.substr(NumberWork.length - Keta, Keta);

  return NumberWork;

}


//*****************************************************************
//*  全国銀行協会 (全銀協) 既定文字 判定                          *
//*****************************************************************
//*  JudgeMode ･･･判定モード                                      *
//*    Name ････ 口座名などで使用できる文字の判定 (既定)          *
//*              カナ、英大小文字、数字、記号 【[空白]（）－．】  *
//*    Tenpo ･･･ 金融機関名や店舗名で使用できる文字の判定         *
//*              カナ、英大小文字、数字、記号 【－】              *
//*****************************************************************
CommonClass.prototype.ZenginCharaJudge = function (JudgeString, JudgeMode) {

  var JudgeFlag = true;

  if (JudgeMode == undefined) {
    JudgeMode = "Name";
  }

  if (JudgeMode == "Name") {
    if (JudgeString.match(/[^ァ-ワＡ-Ｚａ-ｚ０-９ンヵヶ 　（）－ー．]/)) {
      JudgeFlag = false;
    }
  } else if (JudgeMode == "Tenpo") {
    if (JudgeString.match(/[^ァ-ワＡ-Ｚａ-ｚ０-９ンヵヶ－ー]/)) {
      JudgeFlag = false;
    }
  }

  return JudgeFlag;

}


//***************************************************
//*  和暦 → 西暦 変換                              *
//***************************************************
//*  WarekiParam → 和暦日付                        *
//*    パラメーター書式 geemmdd                     *
//*      g ････ 元号 (M:明治 T:大正 S:昭和 H:平成)  *
//*      ee ･･･ 年 (和暦)                           *
//*      mm ･･･ 月                                  *
//*      dd ･･･ 日                                  *
//*    ※ee mm dd が２ケタに満たない場合は、        *
//*    　先頭側に 0 を埋めて２ケタにする            *
//***************************************************
CommonClass.prototype.Wareki2Seireki = function (WarekiParam) {

  var SeirekiWork = "";

  var GengoWork = WarekiParam.substr(0, 1);
  var YearWork = Number(WarekiParam.substr(1, 2));

  for (var key1 in this.WarekiTbl) {
    if (GengoWork == this.WarekiTbl[key1][1]) {
      YearWork += parseFloat(this.WarekiTbl[key1][2].substr(0, 4)) - 1;
    }
  }

  var YearWork = "0000" + String(YearWork);
  YearWork = YearWork.substr(YearWork.length - 4, 4);

  SeirekiWork += String(YearWork) + WarekiParam.substr(3, 4);

  return SeirekiWork;

}


//*****************************************
//*  西暦 → 和暦 変換                    *
//*****************************************
//*  WarekiParam → 和暦日付              *
//*    パラメーター書式 yyyymmdd          *
//*      yyyy ･･･ 年 (西暦)               *
//*      mm ･････ 月                      *
//*      dd ･････ 日                      *
//*    ※mm dd が２ケタに満たない場合は、 *
//*    　先頭側に 0 を埋めて２ケタにする  *
//*****************************************
CommonClass.prototype.Seireki2Wareki = function (SeirekiParam) {

  var WarekiWork = "";

  var GengoWork = "";
  var YearWork = Number(SeirekiParam.substr(0, 4));

  for (var key1 in this.WarekiTbl) {
    if ((SeirekiParam >= this.WarekiTbl[key1][2]) && (SeirekiParam <= this.WarekiTbl[key1][3])) {
      GengoWork = this.WarekiTbl[key1][1];
      YearWork -= parseFloat(this.WarekiTbl[key1][2].substr(0, 4)) - 1;
    }
  }

  var YearWork = "00" + String(YearWork);
  YearWork = YearWork.substr(YearWork.length - 2, 2);

  WarekiWork += GengoWork + String(YearWork) + SeirekiParam.substr(4, 4);

  return WarekiWork;

}


//************************************************************
//*  配列内のキーの存在確認 (複数キー対応)                   *
//************************************************************
//*  KeyArrayParam → 検索するキーの配列                     *
//*  ArrayParam → 検索対象の配列                            *
//*  SearchFlag → 検索条件                                  *
//*    KeyArrayParam 配列内に保存されている文字列のキーが、  *
//*      AND ･･･ 全て存在した場合 true を返す                *
//*      OR ････ １つでも存在した場合 true を返す            *
//************************************************************
CommonClass.prototype.InArrayKey = function (KeyArrayParam, ArrayParam, SearchFlag) {

  if (KeyArrayParam == undefined) {
    KeyArrayParam = [];
  }
  if (ArrayParam == undefined) {
    ArrayParam = [];
  }

  var FoundFlag = "False";

  if (SearchFlag == "AND") {
    FoundFlag = "True";
  } else if (SearchFlag == "OR") {
    FoundFlag = "False";
  }

  for (var Key in KeyArrayParam) {
    if (KeyArrayParam[Key] in ArrayParam) {
      if (SearchFlag == "OR") {
        FoundFlag = "True";
      }
    } else {
      if (SearchFlag == "AND") {
        FoundFlag = "False";
      }
    }
  }

  return FoundFlag;

}


//*************************************************************************
//*  ●<input> タグ以外 (例えば <a> タグなど) をクリック時の submit 処理  *
//*  ●<input> タグの name を変えて submit 処理                           *
//*  ●<form> タグ外の <input> タグの submit 処理                         *
//*************************************************************************
CommonClass.prototype.mouse_click = function (formobj, obj, namepara, linkurl, msgflag, msgstr, target, method, KeyinDisabledFlag) {

  var ParentObj = null;

  if (formobj != undefined) {
    ParentObj = formobj;
  } else {
    ParentObj = window.document.body;
  }

  var ObjName = "";
  var ButtonSet = null;

  if (obj.tagName == "INPUT") {
    if ((obj.type == "submit") || (obj.type == "button") || (obj.type == "image")) {
      ObjName = obj.name;
      obj.name = ObjName + "[MouseClickWork]";
      ButtonSet = this.CreateTagElement("input", {"type":"hidden", "name":ObjName});
    } else {
      ButtonSet = this.CreateTagElement("input", {"type":"hidden", "name":namepara});
    }
  } else if (obj.tagName == "BUTTON") {
    ObjName = obj.name;
    obj.name = ObjName + "[MouseClickWork]";
    ButtonSet = this.CreateTagElement("input", {"type":"hidden", "name":ObjName});
  } else {
    ButtonSet = this.CreateTagElement("input", {"type":"hidden", "name":namepara});
  }

  ParentObj.appendChild(ButtonSet);

  this.input_submit(ButtonSet, linkurl, msgflag, msgstr, target, method, KeyinDisabledFlag);

  if (ObjName != "") {
    obj.name = ObjName;
  }

  return false;

}


//**************************************************************************************
//*  <input> タグ submit 処理                                                          *
//**************************************************************************************
//*  ※注意                                                                            *
//*    method が POST の時 target は _top のみ指定可能                                 *
//*      → 仕様上、POST の場合、送信後の内容と残った前画面の内容に不整合が生じるため  *
//*      → もし _blank を指定したとしても自動的に _top に置き換える                   *
//**************************************************************************************
CommonClass.prototype.input_submit = function (obj, linkurl, msgflag, msgstr, target, method, KeyinDisabledFlag) {

  var ThisInstance = this;

  if (msgflag == undefined) {
    msgflag = "";
  }
  if (msgstr == undefined) {
    msgstr = "";
  }

  if (msgflag == "okcancel") {
    if (window.confirm(msgstr) == false) {
      return false;
    }
  }

  if (target == undefined) {
    if (obj.form != null) {
      target = obj.form.target;
    } else {
      target = "_top";
    }
  }

  target = target.toLowerCase();

  if ((target != "_top") && (target != "_blank")) {
    target = "_top";
  }

  if (method == undefined) {
    if (obj.form != null) {
      method = obj.form.method;
    } else {
      method = "get";
    }
  }

  method = method.toLowerCase();

  if ((method != "get") && (method != "post")) {
    method = "get";
  }


  if (KeyinDisabledFlag == undefined) {
    KeyinDisabledFlag = true;
  }

  if (target != "_blank") {
    if (KeyinDisabledFlag == true) {
      this.KeyinDisabled(undefined, undefined, undefined, true, function (){
        httpRequestSend();
      }, function (){
        httpRequestSend();
      });
    } else {
      httpRequestSend();
    }
  } else {
    httpRequestSend();
  }

  return false;

  //***** http リクエスト 送信 *****
  function httpRequestSend () {

    if (method == "get") {
      GetSend();
    } else if (method == "post") {
      PostSend();
    }

    return false;

  }

  //***** GET 送信 *****
  function GetSend () {

    if (target == "_blank") {
      window.open(linkurl);
    } else {
      location.href = linkurl;
    }

    return false;

  }

  //***** POST 送信 *****
  function PostSend () {

    var SelectIndex = "";
    var SysContKey = "";

    var KeyIndex = obj.name.replace(/\]/g, "").split("[");

    if (KeyIndex.length >= 3) {
      SelectIndex = KeyIndex[2];
      KeyIndex.splice(2, 1);
    }
    if (KeyIndex.length >= 1) {
      SysContKey = KeyIndex[0];
      KeyIndex.splice(0, 1);
    }

    if (SelectIndex != "") {
      KeyIndex.push(SelectIndex);
    }

    var FormSet;
    var FormSetFlag;
    if (obj.form == null) {
      FormSet = ThisInstance.AddTagElement(window.document.body, "form", {"name":"SendFormJsAppendChild", "id":"SendFormJsAppendChild", "method":"post", "target":"_top", "accept-charset":"UTF-8", "enctype":"multipart/form-data"});
      FormSetFlag = true;
    } else {
      FormSet = obj.form;
      FormSetFlag = false;
    }

    var TargetSave = FormSet.target;
    var MethodSave = FormSet.method;
    var ActionSave = FormSet.action;

    if (target != undefined) {
      FormSet.target = target;
    }

    if (method != undefined) {
      FormSet.method = method;
    }

    if (((obj.tagName != "INPUT") && (obj.tagName != "BUTTON"))
      || ((obj.tagName == "INPUT") && (obj.type != "submit") && (obj.type != "button") && (obj.type != "image"))) {
      KeyIndex[0] = KeyIndex[0] + "On";
    } else {
      KeyIndex[0] = KeyIndex[0] + "";
    }

    var ButtonSet = ThisInstance.AddTagElement(FormSet, "input", {"type":"hidden", "name":SysContKey + "[" + KeyIndex.join("][") + "]"});

    if (document.getElementsByTagName) {
      var objects = document.getElementsByTagName("input");
      for (var ii = 0; ii < objects.length; ii++) {
        objects[ii].disabled = false;
        if (objects[ii].type == "checkbox") {
          objects[ii].setAttribute("type", "hidden");
          if (objects[ii].checked == true) {
            objects[ii].setAttribute("value", 1);
          } else {
            objects[ii].setAttribute("value", 0);
          }
        }
        if (["text", "password", "file"].indexOf(objects[ii].type) >= 0) {
          var InputControl = objects[ii].getAttribute("inputcontrol");
          if (InputControl) {
            if ((objects[ii].ParamTbl != undefined) && (ThisInstance.InArrayKey(["Num"], objects[ii].ParamTbl, "OR") == "True")) {
              if (objects[ii].value == "") {
                objects[ii].value = 0;
              }
              objects[ii].value = ThisInstance.numeric_extract(objects[ii].value);
            }
          }
        }
        if (FormSetFlag == true) {
          FormSet.appendChild(objects[ii]);
        }
      }
    }

    var useragt = window.navigator.userAgent.toUpperCase();
    if (useragt.indexOf("MSIE") != -1 && useragt.indexOf("LUNASCAPE") == -1) {
      window.external.AutoCompleteSaveForm(FormSet);
    }

    if ((linkurl != undefined) && (linkurl != "")) {
      FormSet.action = linkurl;
    }

    var NewWindow = undefined;

    FormSet.submit();

    if (FormSet.target == "_blank") {
      FormSet.method = MethodSave;
      FormSet.target = TargetSave;
      FormSet.action = ActionSave;
    }

    FormSet.removeChild(ButtonSet);

    if (obj.form == null) {
      window.document.body.removeChild(FormSet);
    }

    return false;

  }

}


//***********************************************************
//*  キー入力項目を全て操作不可に設定する                   *
//*    → 二重クリックや処理中の操作による誤動作防止のため  *
//*    → 最前面に半透明の div 要素を被せることで実現       *
//***********************************************************
//***** 全ての入力項目 *****
CommonClass.prototype.KeyinDisabled = function (BackGroundColor, OpacityParam, ZIndexProperty, ProgressAnimationShow, ProgressAnimationOnLoad, ProgressAnimationOnError, ObjectIndexParam) {

  var ThisInstance = this;

  if (BackGroundColor == undefined) {
    BackGroundColor = "#ffffff";
  }
  if (OpacityParam == undefined) {
    OpacityParam = 70;
  }
  if (ProgressAnimationShow == undefined) {
    ProgressAnimationShow = false;
  }
  if (ProgressAnimationOnLoad == undefined) {
    ProgressAnimationOnLoad = function () {}
  }
  if (ProgressAnimationOnError == undefined) {
    ProgressAnimationOnError = function () {}
  }
  if (ObjectIndexParam == undefined) {
    ObjectIndexParam = 1;
  }

  if (this.GetTagElementById("KeyinDisabledSet" + ObjectIndexParam, false)) {
    return true;
  }

  var KeyinDisabledSet = this.AddTagElement(window.document.body, "div", {"id":"KeyinDisabledSet" + ObjectIndexParam, "style":"opacity: " + (OpacityParam / 100) + "; filter:alpha(opacity=" + OpacityParam + "); -ms-filter: \"alpha(opacity=" + OpacityParam + ")\";"}, {"position":"fixed", "left":"0px", "top":"0px", "width":"calc(100vw)", "height":"calc(100vh)", "backgroundColor":BackGroundColor, "line-height":"calc(100vh)", "verticalAlign":"middle", "textAlign":"center"});

  this.AddEvent(KeyinDisabledSet, "mousewheel", function () {
    var EventCapture = ThisInstance.GetEventCapture();
    if (EventCapture.preventDefault) {
      EventCapture.preventDefault();
    } else {
      EventCapture.returnValue = false;
    }
  });

  if (ProgressAnimationShow == true) {
    var LeftWork = (document.documentElement.clientWidth - 60) / 2 + "px";
    var TopWork  = (document.documentElement.clientHeight - 60) / 2 + "px";
    var KeyinAnimationSet = this.AddTagElement(window.document.body, "div", {"id":"KeyinAnimationSet" + ObjectIndexParam}, {"position":"fixed", "left":LeftWork, "top":TopWork, "width":"50px", "height":"50px", "padding":"5px", "backgroundColor":"#ffffff", "verticalAlign":"middle", "textAlign":"center"});
    var ProgressAnimationSet = new Image();
    this.AddEvent(ProgressAnimationSet, "load", function (){
      ProgressAnimationOnLoad();
    });
    this.AddEvent(ProgressAnimationSet, "error", function (){
      ProgressAnimationOnError();
    });
    ProgressAnimationSet.src = ThisInstance.URLSet("auto", "Common", true) + "img/nowloading02.gif";
    KeyinAnimationSet.appendChild(ProgressAnimationSet);
  }

  if (ZIndexProperty != undefined) {
    KeyinDisabledSet.style.zIndex = ZIndexProperty;
  }

}


//**************************************************
//*  KeyinDisabled メソッドにてキー入力項目を      *
//*  全て操作不可に設定したものを元の状態に戻す。  *
//*    → 最前面の半透明の div 要素を削除する      *
//**************************************************
//***** 全ての入力項目 *****
CommonClass.prototype.KeyinEnabled = function (ObjectIndexParam) {

  if (ObjectIndexParam == undefined) {
    ObjectIndexParam = 1;
  }

  var KeyinDisabledSet = this.GetTagElementById("KeyinDisabledSet" + ObjectIndexParam, false);
  var KeyinAnimationSet = this.GetTagElementById("KeyinAnimationSet" + ObjectIndexParam, false);

  if (KeyinDisabledSet) {
    window.document.body.removeChild(KeyinDisabledSet);
  }
  if (KeyinAnimationSet) {
    window.document.body.removeChild(KeyinAnimationSet);
  }

}


//*********************************************
//*  内包 <table> タグ 調整                   *
//*********************************************
//*  SetBorder ･･･ 外周罫線削除の対象 Border  *
//*    All：全て                              *
//*      T：Top ボーダー                      *
//*      R：Right ボーダー                    *
//*      B：Bottom ボーダー                   *
//*      L：Left ボーダー                     *
//*********************************************
CommonClass.prototype.InnerTableSet = function (TableTagObj, SetBorder) {

  if (SetBorder == undefined) {
    SetBorder = "All";
  }

  if (!TableTagObj) {
    return false;
  }

  //*** 外周罫線削除
  var TrTagTbl = TableTagObj.getElementsByTagName("tr");

  for (var ii = 0; ii < TrTagTbl.length; ii++) {
    var ThTdTagTbl = TrTagTbl[ii].children;
    for (var jj = 0; jj < ThTdTagTbl.length; jj++) {
      //*** 上 ***
      if ((SetBorder == "All") || (SetBorder.indexOf("T") >= 0)) {
        if (ii == 0) {
          ThTdTagTbl[jj].style.borderTopStyle = "none";
          ThTdTagTbl[jj].style.borderTopWidth = "0px";
          ThTdTagTbl[jj].style.borderTopColor = "#ffffff";
        }
      }
      //*** 右 ***
      if ((SetBorder == "All") || (SetBorder.indexOf("R") >= 0)) {
        if (jj == ThTdTagTbl.length - 1) {
          ThTdTagTbl[jj].style.borderRightStyle = "none";
          ThTdTagTbl[jj].style.borderRightWidth = "0px";
          ThTdTagTbl[jj].style.borderRightColor = "#ffffff";
        }
      }
      //*** 下 ***
      if ((SetBorder == "All") || (SetBorder.indexOf("B") >= 0)) {
        if (ii == TrTagTbl.length - 1) {
          ThTdTagTbl[jj].style.borderBottomStyle = "none";
          ThTdTagTbl[jj].style.borderBottomWidth = "0px";
          ThTdTagTbl[jj].style.borderBottomColor = "#ffffff";
        }
      }
      //*** 左 ***
      if ((SetBorder == "All") || (SetBorder.indexOf("L") >= 0)) {
        if (jj == 0) {
          ThTdTagTbl[jj].style.borderLeftStyle = "none";
          ThTdTagTbl[jj].style.borderLeftWidth = "0px";
          ThTdTagTbl[jj].style.borderLeftColor = "#ffffff";
        }
      }
    }
  }

  return true;

}


//******************************
//*  ラジオボタン データ 設定  *
//******************************
CommonClass.prototype.SetRadioData = function (RadioDataTblObj, SetData) {

  if (RadioDataTblObj) {
    if (!RadioDataTblObj.length) {
      RadioDataTblObj[0] = RadioDataTblObj;
    }
    for (var ii=0 ; ii<RadioDataTblObj.length ; ii++) {
      var RadioDataObj = RadioDataTblObj[ii];
      if (RadioDataObj.value == SetData) {
        RadioDataObj.checked = true
      }
    }
  }

  return false;

}


//******************************
//*  ラジオボタン データ 取得  *
//******************************
CommonClass.prototype.GetRadioData = function (RadioDataTblObj, DataType) {

  if (DataType == undefined) {
    DataType = "Numeric";
  }

  var RadioData = null;
  if (DataType == "Numeric") {
    RadioData = 0;
  } else if (DataType == "String") {
    RadioData = "";
  }

  if (RadioDataTblObj) {
    if (!RadioDataTblObj.length) {
      RadioDataTblObj[0] = RadioDataTblObj;
    }
    for (var ii=0 ; ii<RadioDataTblObj.length ; ii++) {
      var RadioDataObj = RadioDataTblObj[ii];
      if (RadioDataObj.checked == true) {
        if (DataType == "Numeric") {
          RadioData = parseFloat(RadioDataObj.value);
        } else if (DataType == "String") {
          RadioData = RadioDataObj.value;
        }
        break;
      }
    }
  }

  return RadioData;

}


//************************************************************************
//*  アプリケーション (プログラム) の設置ＵＲＬ生成 (ファイル名は除外)   *
//************************************************************************
//*  Protocol ･･･ 生成する URL のプロトコルを指定する                    *
//*     auto：現在の状態を引き継いで生成する                             *
//*     http：現在の状態が http  であればそのまま引き継いで、生成する    *
//*           現在の状態が https であれば http://～  を付加し生成する    *
//*    https：現在の状態が https であればそのまま引き継いで、生成する    *
//*           現在の状態が http  であれば https://～ を付加し生成する    *
//*  PathMode ･･･ 生成する URL が指し示すディレクトリを設定する          *
//*       TopPage：サイトのトップページを指し示す                        *
//*       Library：ライブラリのトップのディレクトリを指し示す            *
//*        Common：common ディレクトリを指し示す                         *
//*    Commonproc：commonproc ディレクトリを指し示す                     *
//*      Contents：各コンテンツ専用のディレクトリを指し示す              *
//*  ProtocolForce ･･･ URL のプロトコル記述を強制するかどうかを設定する  *
//*     true：プロトコル記述を強制する                                   *
//*    false：プロトコル記述を強制しない                                 *
//*  HomeUrl ･･･ 特定のＳＳＬ無しドメインに強制する場合に設定            *
//*              例えば、ドメインの異なる他のサイトにリンクする場合など  *
//*  SSLUrl ･･･ 特定のＳＳＬ有りドメインに強制する場合に設定             *
//*              例えば、ドメインの異なる他のサイトにリンクする場合など  *
//************************************************************************
CommonClass.prototype.URLSet = function (Protocol, PathMode, ProtocolForce, HomeUrl, SSLUrl) {

  if (Protocol == undefined) {
    Protocol = "auto";
  }
  if (PathMode == undefined) {
    PathMode = "Contents";
  }
  if (ProtocolForce == undefined) {
    ProtocolForce = false;
  }

  var URLWrk = "";
  var URLJoinWrk = "";

  var HomeUrlWork = "";
  var SSLUrlWork  = "";

  if (HomeUrl == undefined) {
    HomeUrlWork = this.HomeUrl;
  } else {
    HomeUrlWork = HomeUrl;
  }
  if (SSLUrl == undefined) {
    SSLUrlWork  = this.SSLUrl;
  } else {
    SSLUrlWork  = SSLUrl;
  }

  //***** Domain Url *****
  URLJoinWrk = "";
  if (Protocol == "auto") {
    if (document.location.protocol == "https:") {
      if (ProtocolForce == true) {
        URLJoinWrk += SSLUrlWork;
      }
    } else {
      if (ProtocolForce == true) {
        URLJoinWrk += HomeUrlWork;
      }
    }
  } else if (Protocol == "http") {
    if ((document.location.protocol == "https:")
      || (ProtocolForce == true)) {
      URLJoinWrk += HomeUrlWork;
    }
  } else if (Protocol == "https") {
    if ((document.location.protocol != "https:")
      || (ProtocolForce == true)) {
      URLJoinWrk += SSLUrlWork;
    }
  }
  URLWrk += URLJoinWrk + "/";

  //***** Domain Url *****
  URLJoinWrk = "";
  if (Protocol == "auto") {
    if (document.location.protocol == "https:") {
      URLJoinWrk += this.SSLDir;
    } else {
      URLJoinWrk += this.HomeDir;
    }
  } else if (Protocol == "http") {
    URLJoinWrk += this.HomeDir;
  } else if (Protocol == "https") {
    URLJoinWrk += this.SSLDir;
  }
  URLWrk += URLJoinWrk + ((URLJoinWrk != "") ? "/" : "");

  if (PathMode != "TopPage") {
    //***** Library Top Directory *****
    URLJoinWrk = "";
    URLJoinWrk += this.LibraryDir;
    URLWrk += URLJoinWrk + ((URLJoinWrk != "") ? "/" : "");
    //***** Other Directory *****
    URLJoinWrk = "";
    if (PathMode == "Library") {
      URLJoinWrk += "";
    } else if (PathMode == "Common") {
      URLJoinWrk += this.CommonDir;
    } else if (PathMode == "Commonproc") {
      URLJoinWrk += this.CommonProcDir;
    } else if (PathMode == "Contents") {
      URLJoinWrk += this.ProgramDir;
    } else {
      URLJoinWrk += this.ProgramDir;
    }
    URLWrk += URLJoinWrk + ((URLJoinWrk != "") ? "/" : "");
  }

  return URLWrk;

}


//*******************************************************************
//*  JavaScript の 自分自身の URL を取得                            *
//*******************************************************************
//**  取得後 各 class の prototype の 各プロパティに情報を保存する  *
//*******************************************************************
CommonClass.prototype.GetMyURL = function (ClassPrototype) {

  var ScriptTags = document.getElementsByTagName("script");

  for (var ii = 0 ; ii < ScriptTags.length ; ii++) {
    if ((ScriptTags[ii].src.indexOf("http://") < 0) && (ScriptTags[ii].src.indexOf("https://") < 0)) {
      continue;
    }
    ClassPrototype.MyURL = ScriptTags[ii].src;
  }

  var UrlTbl = ClassPrototype.MyURL.split("/");

  ClassPrototype.MyFileName = UrlTbl[UrlTbl.length - 1];

  UrlTbl.splice(UrlTbl.length - 1, 1);

  ClassPrototype.MyPathName = UrlTbl.join("/");

  return false;

}


//******************************
//*  ログイン情報入力チェック  *
//******************************
CommonClass.prototype.LoginInfoCheck = function (obj, linkurl, msgflag, msgstr, target, method) {

  var ErrMsg = "";

  //***** ユーザーＩＤ *****
  if (obj.form.elements[this.SystemCode + "[DoUserID]"].value == "") {
    ErrMsg += "[ユーザーＩＤ] が未入力です\n";
    obj.form.elements[this.SystemCode + "[DoUserID]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  //***** パスワード *****
  if (obj.form.elements[this.SystemCode + "[DoPassword]"].value == "") {
    ErrMsg += "[パスワード] が未入力です\n";
    obj.form.elements[this.SystemCode + "[DoPassword]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  if (ErrMsg == "") {
    this.input_submit(obj, linkurl, msgflag, msgstr, target, method);
  } else {
    alert(ErrMsg);
  }

  return false;

}


//**********************************************************
//*  ページ位置選択(コンボボックス) (ユーザーリスト) 処理  *
//**********************************************************
CommonClass.prototype.UserListPageChange = function (obj, linkurl) {

  var ErrMsg = "";

  if (ErrMsg == "") {
    this.input_submit(obj, linkurl);
  } else {
    alert(ErrMsg);
  }

  return false;

}


//********************************************************
//*  ページ位置選択(コンボボックス) (アクセスログ) 処理  *
//********************************************************
CommonClass.prototype.AccessLogPageChange = function (obj, linkurl) {

  var ErrMsg = "";

  if (ErrMsg == "") {
    this.input_submit(obj, linkurl);
  } else {
    alert(ErrMsg);
  }

  return false;

}


//***********************************************************************
//*  [日付 コンボボックス (プルダウン)] 設定処理                        *
//***********************************************************************
//*  YearObj ････ 年の タグエレメント                                   *
//*                 ※テキストボックス可                                *
//*  MonthObj ･･･ 月の タグエレメント                                   *
//*                 ※テキストボックス不可 (コンボボックス必須)         *
//*  DayObj ･････ 日の タグエレメント                                   *
//*                 ※テキストボックス不可 (コンボボックス必須)         *
//*  Kubun ･･････ 日付区分    1:西暦　2:和暦                            *
//*  DisplayKubun ･･･ 表示形式                                          *
//*   'YMD' ･･･ 年月日                                                  *
//*   'YM' ････ 年月                                                    *
//*  TermKubun ･･･ [DisplayKubun] が 'YMD' の時、'D' (日) の表示形式    *
//*   1 ･･･ 1 から始まる数値 (日)                                       *
//*   2 ･･･ [上旬] [中旬] [下旬] の表示                                 *
//*   3 ･･･ 1 から始まる数値 (日) と [上旬] [中旬] [下旬] の双方の表示  *
//***********************************************************************
CommonClass.prototype.ComboBoxDateSet = function (obj, YearObjName, MonthObjName, DayObjName, Kubun, DisplayKubun, TermKubun) {

  if (Kubun == undefined) {
    Kubun = 1;
  }
  if (DisplayKubun == undefined) {
    DisplayKubun = "YMD";
  }
  if (TermKubun == undefined) {
    TermKubun = 1;
  }

  var YearObj = obj.form.elements[this.ContentsCode + YearObjName];
  var YearWork = Number(YearObj.value);
  var MonthObj = obj.form.elements[this.ContentsCode + MonthObjName];
  var MonthWork = Number(MonthObj.value);
  if (DisplayKubun == "YMD") {
    var DayObj = obj.form.elements[this.ContentsCode + DayObjName];
    var DayWork = Number(DayObj.value);
  } else {
    var DayWork = 0;
  }

  while(MonthObj.firstChild){
    MonthObj.removeChild(MonthObj.firstChild);
  }
  if (DisplayKubun == "YMD") {
    while(DayObj.firstChild){
      DayObj.removeChild(DayObj.firstChild);
    }
  }

  if (YearWork == 0) {
    MonthWork = 0;
  }
  if (MonthWork == 0) {
    DayWork = 0;
  }

  //***** 月 *****
  var OptionObjSet = this.AddTagElement(MonthObj, "option", {"value":"0"});
  if (MonthWork == 0) {
    OptionObjSet.setAttribute("selected", "selected");
  }
  OptionObjSet.innerHTML = "";

  if (YearWork != 0) {
    for (var ii = 1 ; ii <= 12 ; ii++) {
      var OptionObjSet = this.AddTagElement(MonthObj, "option", {"value":ii});
      if (ii == MonthWork) {
        OptionObjSet.setAttribute("selected", "selected");
      }
      OptionObjSet.innerHTML = ii;
    }
  }

  if (DisplayKubun == "YMD") {
    //***** 日 *****
    var OptionObjSet = this.AddTagElement(DayObj, "option", {"value":"0"});
    if (DayWork == 0) {
      OptionObjSet.setAttribute("selected", "selected");
    }
    OptionObjSet.innerHTML = "";
    if (MonthWork != 0) {
      var DateWork = new Date(MonthWork + "/01/" + YearWork);
      DateWork.setMonth(DateWork.getMonth() + 1);
      DateWork.setDate(DateWork.getDate() - 1);
      var DayMax = DateWork.getDate();
      if (DayWork > DayMax) {
        DayWork = DayMax;
      }
      if ([2, 3].indexOf(TermKubun) >= 0) {
        for (var key in this.MonthTermTbl) {
          var OptionObjSet = this.AddTagElement(DayObj, "option", {"value":key});
          if (key == DayWork) {
            OptionObjSet.setAttribute("selected", "selected");
          }
          OptionObjSet.innerHTML = this.MonthTermTbl[key][0];
        }
      }
      if ([1, 3].indexOf(TermKubun) >= 0) {
        for (var ii = 1 ; ii <= DayMax ; ii++) {
          var OptionObjSet = this.AddTagElement(DayObj, "option", {"value":ii});
          if (ii == DayWork) {
            OptionObjSet.setAttribute("selected", "selected");
          }
          OptionObjSet.innerHTML = ii;
        }
      }
    }
  }

  return false;

}


//************************
//*  日付妥当性チェック  *
//************************
CommonClass.prototype.DateValidityCheck = function (Year, Month, Day) {

  if ((Year < 1900) || (Year > 2100)) {
    return false;
  }

  if ((Month < 1) || (Month > 12)) {
    return false;
  }

  var DateWork = new Date(Year, Month, 0);
  var LastDay = DateWork.getDate();

  if ((Day < 1) || (Day > LastDay)) {
    return false;
  }

  return true;

}


//************************
//*  時刻妥当性チェック  *
//************************
CommonClass.prototype.TimeValidityCheck = function (Hour, Minute, Second) {

  if ((Hour < 0) || (Hour > 23)) {
    return false;
  }

  if ((Minute < 0) || (Minute > 59)) {
    return false;
  }

  if ((Second < 0) || (Second > 59)) {
    return false;
  }

  return true;

}


//**************
//*  年齢計算  *
//**************
CommonClass.prototype.NenreiKeisan = function (Birthday, KeisanDate) {

  if (KeisanDate == undefined) {
    KeisanDate = new Date();
  }

  var BirthdayYY = Birthday.getFullYear();
  var BirthdayMM = Birthday.getMonth() + 1;
  var BirthdayDD = Birthday.getDate();

  var KeisanYY = KeisanDate.getFullYear();
  var KeisanMM = KeisanDate.getMonth() + 1;
  var KeisanDD = KeisanDate.getDate();

  var Nenrei = KeisanYY - BirthdayYY;

  if (KeisanMM * 100 + KeisanDD < BirthdayMM * 100 + BirthdayDD) {
    Nenrei--;
  }

  return Nenrei;

}


//******************************
//*  ユーザー情報入力チェック  *
//******************************
CommonClass.prototype.UserInfoDetailCheck = function (obj, linkurl) {

  var ErrMsg = "";

  var CrtUpd = "";
  if (obj.name == this.SystemCode + "[DoUserUpdCfm]") {
    CrtUpd = "新";
  }

  //***** ユーザーＩＤ *****
  if (obj.form.elements[this.SystemCode + "[DoUserID]"].value == "") {
    ErrMsg += "[ユーザーＩＤ] が未入力です\n";
    obj.form.elements[this.SystemCode + "[DoUserID]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  //***** ユーザーＩＤ文字数 *****
  if (obj.form.elements[this.SystemCode + "[DoUserID]"].value.length < 6) {
    ErrMsg += "[ユーザーＩＤ] は６文字以上で設定して下さい\n";
    obj.form.elements[this.SystemCode + "[DoUserID]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  if ((obj.name != this.SystemCode + "[DoUserUpdCfm]")
    || (obj.form.elements[this.SystemCode + "[DoPassword1]"].value != "")
    || (obj.form.elements[this.SystemCode + "[DoPassword2]"].value != "")
    || (obj.form.elements[this.SystemCode + "[DoPassword3]"].value != "")) {
    if (obj.name == this.SystemCode + "[DoUserUpdCfm]") {
      //***** 旧パスワード *****
      if (obj.form.elements[this.SystemCode + "[DoPassword1]"].value == "") {
        ErrMsg += "[旧パスワード] が未入力です\n";
        obj.form.elements[this.SystemCode + "[DoPassword1]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
      }
    }
    //***** (新)パスワード *****
    if (obj.form.elements[this.SystemCode + "[DoPassword2]"].value == "") {
      ErrMsg += "[" + CrtUpd + "パスワード] が未入力です\n";
      obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
    }
    //***** (新)パスワード(確認) *****
    if (obj.form.elements[this.SystemCode + "[DoPassword3]"].value == "") {
      ErrMsg += "[" + CrtUpd + "パスワード(確認)] が未入力です\n";
      obj.form.elements[this.SystemCode + "[DoPassword3]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
    }
    //***** パスワード確認 *****
    if (obj.form.elements[this.SystemCode + "[DoPassword2]"].value != obj.form.elements[this.SystemCode + "[DoPassword3]"].value) {
      ErrMsg += "[" + CrtUpd + "パスワード] と [" + CrtUpd + "パスワード（確認）] が異なります\n";
      obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
      obj.form.elements[this.SystemCode + "[DoPassword3]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
    }
    //***** パスワード文字数 *****
    if ((obj.form.elements[this.SystemCode + "[DoPassword2]"].value.length < 8) || (obj.form.elements[this.SystemCode + "[DoPassword3]"].value.length < 8)) {
      ErrMsg += "[" + CrtUpd + "パスワード] は８文字以上の英数字で設定して下さい\n";
      obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
      obj.form.elements[this.SystemCode + "[DoPassword3]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
    }
    //***** ユーザーID・パスワード比較 *****
    if (obj.form.elements[this.SystemCode + "[DoPassword2]"].value == obj.form.elements[this.SystemCode + "[DoUserID]"].value) {
      ErrMsg += "[ユーザーID] と [" + CrtUpd + "パスワード] は、同じ内容の設定はできません\n";
      obj.form.elements[this.SystemCode + "[DoUserID]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
      obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
      obj.form.elements[this.SystemCode + "[DoPassword3]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
    }
    if (["UserUpdInput"].indexOf(this.Mode) >= 0) {
      //***** 旧パスワード・新パスワード比較 *****
      if (obj.form.elements[this.SystemCode + "[DoPassword1]"].value == obj.form.elements[this.SystemCode + "[DoPassword2]"].value) {
        ErrMsg += "[旧パスワード] と [新パスワード] は、同じ内容の設定はできません\n";
        obj.form.elements[this.SystemCode + "[DoPassword1]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
        obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
      }
    }
  }

  if (ErrMsg == "") {
    this.input_submit(obj, linkurl);
  } else {
    alert(ErrMsg);
  }

  return false;

}


//******************************
//*  ユーザー情報入力チェック  *
//******************************
CommonClass.prototype.UserInfoCheck = function (obj, linkurl, msgflag, msgstr) {

  var ErrMsg = "";

  //***** 旧パスワード *****
  if (obj.form.elements[this.SystemCode + "[DoPassword1]"].value == "") {
    ErrMsg += "[旧パスワード] が未入力です\n";
    obj.form.elements[this.SystemCode + "[DoPassword1]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  //***** パスワード *****
  if (obj.form.elements[this.SystemCode + "[DoPassword2]"].value == "") {
    ErrMsg += "[新パスワード] が未入力です\n";
    obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  //***** パスワード（確認） *****
  if (obj.form.elements[this.SystemCode + "[DoPassword3]"].value == "") {
    ErrMsg += "[新パスワード（確認）] が未入力です\n";
    obj.form.elements[this.SystemCode + "[DoPassword3]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  //***** パスワード文字数 *****
  if ((obj.form.elements[this.SystemCode + "[DoPassword2]"].value.length < 8) || (obj.form.elements[this.SystemCode + "[DoPassword3]"].value.length < 8)) {
    ErrMsg += "[新パスワード] は８文字以上の英数字で設定して下さい\n";
    obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
    obj.form.elements[this.SystemCode + "[DoPassword3]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  //***** パスワード確認 *****
  if (obj.form.elements[this.SystemCode + "[DoPassword2]"].value != obj.form.elements[this.SystemCode + "[DoPassword3]"].value) {
    ErrMsg += "[新パスワード] と [新パスワード（確認）] が異なります\n";
    obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
    obj.form.elements[this.SystemCode + "[DoPassword3]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  //***** ユーザーID・パスワード比較 *****
  if (obj.form.elements[this.SystemCode + "[DoPassword2]"].value == obj.form.elements[this.SystemCode + "[DoUserID]"].value) {
    ErrMsg += "[ユーザーID] と [パスワード] は、同じ内容の設定はできません\n";
    obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
    obj.form.elements[this.SystemCode + "[DoUserID]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  //***** 旧パスワード・新パスワード比較 *****
  if (obj.form.elements[this.SystemCode + "[DoPassword1]"].value == obj.form.elements[this.SystemCode + "[DoPassword2]"].value) {
    ErrMsg += "[旧パスワード] と [新パスワード] は、同じ内容の設定はできません\n";
    obj.form.elements[this.SystemCode + "[DoPassword1]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
    obj.form.elements[this.SystemCode + "[DoPassword2]"].style.backgroundColor = this.ErrorItemBackgroundCcolor;
  }

  if (ErrMsg == "") {
    this.input_submit(obj, linkurl, msgflag, msgstr);
  } else {
    alert(ErrMsg);
  }

  return false;

}


//***************************************
//*                                     *
//*    Google Map API 処理モジュール    *
//*                                     *
//***************************************
//***********************************
//*  Google Map API スクリプト設定  *
//***********************************
CommonClass.prototype.MapScriptInit = function (callback) {

  var ApiKey = this.ApiKey;

  var HeadSetObj = window.document.getElementsByTagName("head")[0];
  var ScriptObj = this.AddTagElement(HeadSetObj, "script", {"type":"text/javascript", "src":"https://maps.googleapis.com/maps/api/js?key=" + ApiKey + "&libraries=geometry&sensor=false&callback=" + callback}, {"padding":"3px", "borderStyle":"solid", "borderWidth":"1px", "borderColor":"#000000", "textAlign":"center", "verticalAlign":"middle", "fontFamily":"\"ヒラギノ角ゴ Pro W3\", \"Hiragino Kaku Gothic Pro\", \"メイリオ\", \"Meiryo\", \"ＭＳ Ｐゴシック\", \"MS P Gothic\", \"sans-serif\"", "color":"#000000", "cursor":"pointer"});

/*
  if (window.document.head) {
    var ScriptObj = this.AddTagElement(window.document.head, "script", {"type":"text/javascript", "src":"https://maps.googleapis.com/maps/api/js?key=" + ApiKey + "&libraries=geometry&sensor=false&callback=" + callback}, {"padding":"3px", "borderStyle":"solid", "borderWidth":"1px", "borderColor":"#000000", "textAlign":"center", "verticalAlign":"middle", "fontFamily":"\"ヒラギノ角ゴ Pro W3\", \"Hiragino Kaku Gothic Pro\", \"メイリオ\", \"Meiryo\", \"ＭＳ Ｐゴシック\", \"MS P Gothic\", \"sans-serif\"", "color":"#000000", "cursor":"pointer"});
  } else {
    var ScriptObj = this.AddTagElement(window.document.getElementsByTagName("head")[0], "script", {"type":"text/javascript", "src":"https://maps.googleapis.com/maps/api/js?key=" + ApiKey + "&libraries=geometry&sensor=false&callback=" + callback}, {"padding":"3px", "borderStyle":"solid", "borderWidth":"1px", "borderColor":"#000000", "textAlign":"center", "verticalAlign":"middle", "fontFamily":"\"ヒラギノ角ゴ Pro W3\", \"Hiragino Kaku Gothic Pro\", \"メイリオ\", \"Meiryo\", \"ＭＳ Ｐゴシック\", \"MS P Gothic\", \"sans-serif\"", "color":"#000000", "cursor":"pointer"});
  }
*/

}


//************************
//*  住所を地図上に反映  *
//************************
CommonClass.prototype.Jusyo2Pos = function (JusyoStr, MarkerSetFunc, Param) {

  var GeoCoder = new google.maps.Geocoder();

  GeoCoder.geocode({"address": JusyoStr}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      MarkerSetFunc(results[0].geometry.location, Param);
    } else {
      alert("Geocode was not successful for the following reason: " + status);
      MarkerSetFunc(new google.maps.LatLng(0, 0), Param);
    }
  });

  return false;

}


//********************
//*  ルート距離算出  *
//********************
CommonClass.prototype.RouteDistance = function (FromPosition, ToPosition, RoadObj, DistanceFunc, Param) {

  var RouteRequestParam = {
    origin: FromPosition,  //*** 始点 ***
    destination: ToPosition,  //*** 終点 ***
    avoidHighways: true,  //*** 高速道路を除外 ***
    avoidTolls: true,  //*** 有料道路を除外 ***
//    travelMode: google.maps.DirectionsTravelMode.DRIVING   //*** 車で移動 ***
    travelMode: google.maps.DirectionsTravelMode.WALKING   //*** 徒歩で移動 ***
  };

  var RouteDirections = new google.maps.DirectionsService();

  RouteDirections.route(RouteRequestParam, function(result, status) {
    if (RoadObj != null) {
      RoadObj.setDirections(result);
    }
    if (status == google.maps.DirectionsStatus.OK) {
      DistanceFunc(result.routes[0].legs[0].distance.value, Param);
    } else {
      DistanceFunc(0, Param);
    }
  })

}


//************************************************************
//*                                                          *
//*    html コンテンツ表示モジュール (クローズボタンあり)    *
//*                                                          *
//************************************************************
CommonClass.prototype.HtmlStackBoxClass = function () {}

CommonClass.prototype.HtmlStackBoxClass.prototype.ObjectIndex = 1;

CommonClass.prototype.HtmlStackBoxClass.prototype.ParentThis = CommonClass.prototype;

CommonClass.prototype.HtmlStackBoxClass.prototype.ImageCnt = 0;

//*************************
//*  html コンテンツ表示  *
//*************************
CommonClass.prototype.HtmlStackBoxClass.prototype.Show = function (HtmlText, OutSideProperty, BorderProperty, BackgroundProperty, CloseButton, ZIndexProperty) {

  var ThisInstance = CommonClass.prototype.HtmlStackBoxClass.prototype;

  var AddOnresizeEventFlag = false;

  if (OutSideProperty == undefined) {
    OutSideProperty = [];
  }
  if (BorderProperty == undefined) {
    BorderProperty = [];
  }
  if (BackgroundProperty == undefined) {
    BackgroundProperty = [];
  }

  if (OutSideProperty["color"] == undefined) {
    OutSideProperty["color"] = "#000000";
  }
  if (BorderProperty["color"] == undefined) {
    BorderProperty["color"] = "#ffffff";
  }
  if (BorderProperty["width"] == undefined) {
    BorderProperty["width"] = "1px";
  }
  if (BackgroundProperty["color"] == undefined) {
    BackgroundProperty["color"] = "#000000";
  }

  if (CloseButton == undefined) {
    CloseButton = true;
  }

  this.ParentThis.KeyinDisabled("#000000", undefined, ZIndexProperty, undefined, undefined, undefined, ThisInstance.ObjectIndex);

  var DivHtmlStackBox = ThisInstance.ParentThis.GetTagElementById("DivHtmlStackBox" + ThisInstance.ObjectIndex, false);
  if (!DivHtmlStackBox) {
    var DivHtmlStackBox = this.ParentThis.AddTagElement(window.document.body, "div", {"id":"DivHtmlStackBox" + ThisInstance.ObjectIndex}, {"position":"fixed", "width":"auto", "height":"auto", "padding":"10px", "backgroundColor":OutSideProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff"})
    AddOnresizeEventFlag = true;
  }
  if (ZIndexProperty != undefined) {
    DivHtmlStackBox.style.zIndex = ZIndexProperty + 1;
  }

  var DivMainHtmlSet = ThisInstance.ParentThis.GetTagElementById("DivMainHtmlSet" + ThisInstance.ObjectIndex, false);
  if (!DivMainHtmlSet) {
    if (CloseButton == true) {
      DivMainHtmlSet = this.ParentThis.AddTagElement(DivHtmlStackBox, "div", {"id":"DivMainHtmlSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderWidth":BorderProperty["width"] + " " + BorderProperty["width"] + " 0px " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"center", "verticalAlign":"middle"})
    } else {
      DivMainHtmlSet = this.ParentThis.AddTagElement(DivHtmlStackBox, "div", {"id":"DivMainHtmlSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderWidth":BorderProperty["width"] + " " + BorderProperty["width"] + " " + BorderProperty["width"] + " " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"center", "verticalAlign":"middle"})
    }
    AddOnresizeEventFlag = true;
  }

  var DivHtmlScrollSet = ThisInstance.ParentThis.GetTagElementById("DivHtmlScrollSet" + ThisInstance.ObjectIndex, false);
  if (!DivHtmlScrollSet) {
    var DivHtmlScrollSet = this.ParentThis.AddTagElement(DivMainHtmlSet, "div", {"id":"DivHtmlScrollSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"0px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff", "textAlign":"center", "verticalAlign":"middle"})
    AddOnresizeEventFlag = true;
  }

  var DivHtmlInfoSet = ThisInstance.ParentThis.GetTagElementById("DivHtmlInfoSet" + ThisInstance.ObjectIndex, false);
  if (!DivHtmlInfoSet) {
    var DivHtmlInfoSet = this.ParentThis.AddTagElement(DivHtmlScrollSet, "div", {"id":"DivHtmlInfoSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"0px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff", "textAlign":"center", "verticalAlign":"middle"})
    AddOnresizeEventFlag = true;
  }

  DivHtmlInfoSet.innerHTML = HtmlText;

  this.ImageCnt = 0;

  var NoImageFlag = true;

  if (DivHtmlStackBox.getElementsByTagName) {
    var objects = DivHtmlStackBox.getElementsByTagName("img");
    if (objects.length > 0) {
      for (var ii = 0; ii < objects.length; ii++) {
        this.ParentThis.AddEvent(objects[ii], "load", function () {ThisInstance.onresize001();});
        this.ParentThis.AddEvent(objects[ii], "error", function () {ThisInstance.onresize001();});
      }
      NoImageFlag = false;
    }
  }

  if (CloseButton == true) {
    var DivButtonSet = ThisInstance.ParentThis.GetTagElementById("DivButtonSet" + ThisInstance.ObjectIndex, false);
    if (!DivButtonSet) {
      var DivButtonSet = this.ParentThis.AddTagElement(DivHtmlStackBox, "div", {"id":"DivButtonSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderWidth":"0px " + BorderProperty["width"] + " " + BorderProperty["width"] + " " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"center", "verticalAlign":"middle"})
      AddOnresizeEventFlag = true;
    }
    var CloseButtonSet = ThisInstance.ParentThis.GetTagElementById("CloseButtonSet" + ThisInstance.ObjectIndex, false);
    if (!CloseButtonSet) {
      var CloseButtonSet = this.ParentThis.AddTagElement(DivButtonSet, "input", {"id":"CloseButtonSet" + ThisInstance.ObjectIndex, "type":"button", "value":"閉じる"}, {"width":"auto", "height":"auto", "padding":"2px 5px", "fontFamily":"ＭＳ Ｐゴシック", "font-size":"10"})
      this.ParentThis.AddEvent(CloseButtonSet, "click", function () {ThisInstance.Erase();});
      AddOnresizeEventFlag = true;
    }
  }

  if (AddOnresizeEventFlag == true) {
    this.ParentThis.AddEvent(window, "resize", this.onresize001);
    this.ParentThis.AddEvent(window.document, "gesturechange", this.onresize001);
  }

  if (NoImageFlag == true) {
    this.onresize001();
  }

}


//*****************************
//*  html コンテンツ表示消去  *
//*****************************
CommonClass.prototype.HtmlStackBoxClass.prototype.Erase = function () {

  var ThisInstance = CommonClass.prototype.HtmlStackBoxClass.prototype;

  this.ParentThis.KeyinEnabled(ThisInstance.ObjectIndex);

  var DivHtmlStackBox = this.ParentThis.GetTagElementById("DivHtmlStackBox" + ThisInstance.ObjectIndex, false);

  window.document.body.removeChild(DivHtmlStackBox);

  this.ParentThis.RemoveEvent(window, "resize", this.onresize001);
  this.ParentThis.RemoveEvent(window.document, "gesturechange", this.onresize001);

}


//*****************************
//*  Window リサイズ時の処理  *
//*****************************
CommonClass.prototype.HtmlStackBoxClass.prototype.onresize001 = function () {

  var ThisInstance = CommonClass.prototype.HtmlStackBoxClass.prototype;

  var SideSpace = 50;

  var DivHtmlStackBox = ThisInstance.ParentThis.GetTagElementById("DivHtmlStackBox" + ThisInstance.ObjectIndex, false);
  var DivHtmlScrollSet = ThisInstance.ParentThis.GetTagElementById("DivHtmlScrollSet" + ThisInstance.ObjectIndex, false);
  var DivHtmlInfoSet = ThisInstance.ParentThis.GetTagElementById("DivHtmlInfoSet" + ThisInstance.ObjectIndex, false);
  var DivButtonSet = ThisInstance.ParentThis.GetTagElementById("DivButtonSet" + ThisInstance.ObjectIndex, false);

  var DivButtonSetScrollHeight = 0;
  if (DivButtonSet) {
    DivButtonSetScrollHeight = DivButtonSet.scrollHeight;
  }

  this.ImageCnt++;

  var objects = DivHtmlStackBox.getElementsByTagName("img");
  if (this.ImageCnt < objects.length) {
    return false;
  }

  var WidthRate  = (DivHtmlInfoSet.scrollWidth + SideSpace) * 100 / document.documentElement.clientWidth;
  var HeightRate = (DivHtmlInfoSet.scrollHeight + DivButtonSetScrollHeight + SideSpace) * 100 / document.documentElement.clientHeight;

  DivHtmlScrollSet.style.overflowX = "auto";
  if (WidthRate > 100) {
    var HtmlScrollWidth = document.documentElement.clientWidth - SideSpace;
    if (HtmlScrollWidth < 1) {
      HtmlScrollWidth = 1;
    }
  }

  DivHtmlScrollSet.style.overflowY = "auto";
  if (HeightRate > 100) {
    var HtmlScrollHeight = document.documentElement.clientHeight - DivButtonSetScrollHeight - SideSpace;
    if (HtmlScrollHeight < 1) {
      HtmlScrollHeight = 1;
    }
  }

  var StyleWidthAdjust = null;
  var StyleHeightAdjust = null;
  if ((DivHtmlScrollSet.clientWidth != 0) && (DivHtmlScrollSet.clientHeight != 0)) {
    if ((DivHtmlScrollSet.offsetWidth == DivHtmlScrollSet.scrollWidth)
      && (DivHtmlScrollSet.scrollWidth != DivHtmlScrollSet.clientWidth)) {
      StyleWidthAdjust = (DivHtmlInfoSet.scrollWidth + (DivHtmlInfoSet.scrollWidth - DivHtmlScrollSet.clientWidth)) + "px";
    }
    if ((DivHtmlScrollSet.offsetHeight == DivHtmlScrollSet.scrollHeight)
      && (DivHtmlScrollSet.scrollHeight != DivHtmlScrollSet.clientHeight)) {
      StyleHeightAdjust = (DivHtmlInfoSet.scrollHeight + (DivHtmlInfoSet.scrollHeight - DivHtmlScrollSet.clientHeight)) + "px";
    }
  }

  if (DivHtmlStackBox != null) {
    DivHtmlStackBox.style.left = (document.documentElement.clientWidth - DivHtmlStackBox.scrollWidth) / 2 + "px";
    DivHtmlStackBox.style.top  = (document.documentElement.clientHeight - DivHtmlStackBox.scrollHeight) / 2 + "px";
  }

  return true;

}


//**********************************
//**  クラスインスタンス生成宣言  **
//**********************************
CommonClass.prototype.HtmlStackBox = new CommonClass.prototype.HtmlStackBoxClass();


//********************************************************************
//*                                                                  *
//*    html 画面下限コンテンツ表示モジュール (クローズボタンあり)    *
//*                                                                  *
//********************************************************************
CommonClass.prototype.HtmlBottomBoxClass = function () {}

CommonClass.prototype.HtmlBottomBoxClass.prototype.ObjectIndex = 1;

CommonClass.prototype.HtmlBottomBoxClass.prototype.ParentThis = CommonClass.prototype;

CommonClass.prototype.HtmlBottomBoxClass.prototype.ImageCnt = 0;

CommonClass.prototype.HtmlBottomBoxClass.prototype.DoEraseFlag = true;

//*************************
//*  html コンテンツ表示  *
//*************************
CommonClass.prototype.HtmlBottomBoxClass.prototype.Show = function (HtmlText, OutSideProperty, BorderProperty, BackgroundProperty, ZIndexProperty) {

  var ThisInstance = CommonClass.prototype.HtmlBottomBoxClass.prototype;

  var AddOnresizeEventFlag = false;

  if (OutSideProperty == undefined) {
    OutSideProperty = [];
  }
  if (BorderProperty == undefined) {
    BorderProperty = [];
  }
  if (BackgroundProperty == undefined) {
    BackgroundProperty = [];
  }

  if (OutSideProperty["color"] == undefined) {
    OutSideProperty["color"] = "#000000";
  }
  if (BorderProperty["color"] == undefined) {
    BorderProperty["color"] = "#ffffff";
  }
  if (BorderProperty["width"] == undefined) {
    BorderProperty["width"] = "1px";
  }
  if (BackgroundProperty["color"] == undefined) {
    BackgroundProperty["color"] = "#ffffff";
  }

  if (!ThisInstance.ParentThis.GetTagElementById("BackGroundSet" + ThisInstance.ObjectIndex, false)) {
    var BackGroundSet = ThisInstance.ParentThis.AddTagElement(window.document.body, "div", {"id":"BackGroundSet" + ThisInstance.ObjectIndex, "style":"opacity: 0.5;"}, {"position":"fixed", "left":"0px", "top":"0px", "width":document.documentElement.clientWidth + "px", "height":document.documentElement.clientHeight + "px", "backgroundColor":"#000000", "line-height":document.documentElement.clientHeight + "px", "verticalAlign":"middle", "textAlign":"center"});
  }

  var DivBottomClearBox = ThisInstance.ParentThis.AddTagElement(window.document.body, "div", {"id":"DivBottomClearBox" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"0px", "backgroundColor":"#ffffff", "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff"})

  var DivHtmlBottomBox = ThisInstance.ParentThis.GetTagElementById("DivHtmlBottomBox" + ThisInstance.ObjectIndex, false);
  if (!DivHtmlBottomBox) {
    var DivHtmlBottomBox = ThisInstance.ParentThis.AddTagElement(window.document.body, "div", {"id":"DivHtmlBottomBox" + ThisInstance.ObjectIndex}, {"position":"fixed", "width":"auto", "height":"auto", "padding":"10px", "backgroundColor":OutSideProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff"})
    AddOnresizeEventFlag = true;
  }
  if (ZIndexProperty != undefined) {
    DivHtmlBottomBox.style.zIndex = ZIndexProperty + 1;
  }

  var DivMainHtmlSet = ThisInstance.ParentThis.GetTagElementById("DivMainHtmlSet" + ThisInstance.ObjectIndex, false);
  if (!DivMainHtmlSet) {
    var DivMainHtmlSet = ThisInstance.ParentThis.AddTagElement(DivHtmlBottomBox, "div", {"id":"DivMainHtmlSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderWidth":BorderProperty["width"] + " " + BorderProperty["width"] + " 0px " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"center", "verticalAlign":"middle"})
    ThisInstance.ParentThis.AddEvent(DivMainHtmlSet, "mouseover", function() {
      var EventElement = ThisInstance.ParentThis.GetEventElement();
      ThisInstance.DoEraseFlag = false;
    });
    ThisInstance.ParentThis.AddEvent(DivMainHtmlSet, "mouseout", function() {
      var EventElement = ThisInstance.ParentThis.GetEventElement();
      ThisInstance.DoEraseFlag = true;
    });
    AddOnresizeEventFlag = true;
  }

  var DivHtmlScrollSet = ThisInstance.ParentThis.GetTagElementById("DivHtmlScrollSet" + ThisInstance.ObjectIndex, false);
  if (!DivHtmlScrollSet) {
    var DivHtmlScrollSet = ThisInstance.ParentThis.AddTagElement(DivMainHtmlSet, "div", {"id":"DivHtmlScrollSet" + ThisInstance.ObjectIndex}, {"float":"left", "width":"auto", "height":"auto", "padding":"0px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff", "textAlign":"center", "verticalAlign":"middle"})
    AddOnresizeEventFlag = true;
  }

  var CloseButtonSet = ThisInstance.ParentThis.GetTagElementById("CloseButtonSet" + ThisInstance.ObjectIndex, false);
  if (!CloseButtonSet) {
    var CloseButtonSet = ThisInstance.ParentThis.AddTagElement(DivMainHtmlSet, "input", {"id":"CloseButtonSet" + ThisInstance.ObjectIndex, "type":"image", "src":ThisInstance.ParentThis.URLSet("auto", "Common", true) + "img/closebutton.png", "value":"×"}, {"margin":"0px 0px 0px 3px"})
    ThisInstance.ParentThis.AddEvent(CloseButtonSet, "click", function () {
      ThisInstance.DoEraseFlag = true;
      ThisInstance.Erase();
    });
    AddOnresizeEventFlag = true;
  }

  var FloatClearSet = ThisInstance.ParentThis.GetTagElementById("FloatClearSet" + ThisInstance.ObjectIndex, false);
  if (!FloatClearSet) {
    var FloatClearSet = ThisInstance.ParentThis.AddTagElement(DivMainHtmlSet, "div", {"id":"FloatClearSet" + ThisInstance.ObjectIndex}, {"clear":"both"})
    AddOnresizeEventFlag = true;
  }

  var DivHtmlInfoSet = ThisInstance.ParentThis.GetTagElementById("DivHtmlInfoSet" + ThisInstance.ObjectIndex, false);
  if (!DivHtmlInfoSet) {
    var DivHtmlInfoSet = ThisInstance.ParentThis.AddTagElement(DivHtmlScrollSet, "div", {"id":"DivHtmlInfoSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"0px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff", "textAlign":"left", "verticalAlign":"middle"})
    AddOnresizeEventFlag = true;
  }

  DivHtmlInfoSet.innerHTML = HtmlText;

  ThisInstance.ImageCnt = 0;

  var NoImageFlag = true;

  if (DivHtmlBottomBox.getElementsByTagName) {
    var objects = DivHtmlBottomBox.getElementsByTagName("img");
    if (objects.length > 0) {
      for (var ii = 0; ii < objects.length; ii++) {
        ThisInstance.ParentThis.AddEvent(objects[ii], "load", function () {ThisInstance.onresize002();});
        ThisInstance.ParentThis.AddEvent(objects[ii], "error", function () {ThisInstance.onresize002();});
      }
      NoImageFlag = false;
    }
  }

  if (AddOnresizeEventFlag == true) {
    ThisInstance.ParentThis.AddEvent(window, "resize", ThisInstance.onresize002);
    ThisInstance.ParentThis.AddEvent(window.document, "gesturechange", ThisInstance.onresize002);
  }

  if (NoImageFlag == true) {
    ThisInstance.onresize002();
  }

}


//*****************************
//*  html コンテンツ表示消去  *
//*****************************
CommonClass.prototype.HtmlBottomBoxClass.prototype.Erase = function () {

  var ThisInstance = CommonClass.prototype.HtmlBottomBoxClass.prototype;

  if (ThisInstance.DoEraseFlag == false) {
    return false;
  }

  var BackGroundSet = ThisInstance.ParentThis.GetTagElementById("BackGroundSet" + ThisInstance.ObjectIndex, false);
  var DivBottomClearBox = ThisInstance.ParentThis.GetTagElementById("DivBottomClearBox" + ThisInstance.ObjectIndex, false);
  var DivHtmlBottomBox = ThisInstance.ParentThis.GetTagElementById("DivHtmlBottomBox" + ThisInstance.ObjectIndex, false);

  if (BackGroundSet) {
    window.document.body.removeChild(BackGroundSet);
  }
  if (DivBottomClearBox) {
    window.document.body.removeChild(DivBottomClearBox);
  }
  if (DivHtmlBottomBox) {
    window.document.body.removeChild(DivHtmlBottomBox);
  }

  ThisInstance.ParentThis.RemoveEvent(window, "resize", ThisInstance.onresize002);
  ThisInstance.ParentThis.RemoveEvent(window.document, "gesturechange", ThisInstance.onresize002);

}


//*****************************
//*  Window リサイズ時の処理  *
//*****************************
CommonClass.prototype.HtmlBottomBoxClass.prototype.onresize002 = function () {

  var ThisInstance = CommonClass.prototype.HtmlBottomBoxClass.prototype;

  var SideSpace = 50;
  var HeightMax = 65;

  var BackGroundSet = ThisInstance.ParentThis.GetTagElementById("BackGroundSet" + ThisInstance.ObjectIndex, false);
  var DivBottomClearBox = ThisInstance.ParentThis.GetTagElementById("DivBottomClearBox" + ThisInstance.ObjectIndex, false);
  var DivHtmlBottomBox = ThisInstance.ParentThis.GetTagElementById("DivHtmlBottomBox" + ThisInstance.ObjectIndex, false);
  var DivHtmlScrollSet = ThisInstance.ParentThis.GetTagElementById("DivHtmlScrollSet" + ThisInstance.ObjectIndex, false);
  var DivHtmlInfoSet = ThisInstance.ParentThis.GetTagElementById("DivHtmlInfoSet" + ThisInstance.ObjectIndex, false);

  ThisInstance.ImageCnt++;

  var objects = DivHtmlBottomBox.getElementsByTagName("img");
  if (ThisInstance.ImageCnt < objects.length) {
    return false;
  }

  DivHtmlInfoSet.style.width = DivHtmlInfoSet.scrollWidth + "px";
  DivHtmlInfoSet.style.height = DivHtmlInfoSet.scrollHeight + "px";

  var WidthRate  = (DivHtmlInfoSet.scrollWidth + SideSpace) * 100 / document.documentElement.clientWidth;
  var HeightRate = (DivHtmlInfoSet.scrollHeight + SideSpace) * 100 / document.documentElement.clientHeight;

  DivHtmlScrollSet.style.overflowX = "auto";
  if (WidthRate > 100) {
    var HtmlScrollWidth = document.documentElement.clientWidth - SideSpace;
    if (HtmlScrollWidth < 1) {
      HtmlScrollWidth = 1;
    }
    DivHtmlScrollSet.style.width = HtmlScrollWidth + "px";
  } else {
    DivHtmlScrollSet.style.width = DivHtmlInfoSet.scrollWidth + "px";
  }

  DivHtmlScrollSet.style.overflowY = "auto";
  if (HeightRate > 100) {
    var HtmlScrollHeight = document.documentElement.clientHeight - SideSpace;
    if (HtmlScrollHeight < 1) {
      HtmlScrollHeight = 1;
    }
    if (HtmlScrollHeight <= HeightMax) {
      DivHtmlScrollSet.style.height = HtmlScrollHeight + "px";
    } else {
      DivHtmlScrollSet.style.height = HeightMax + "px";
    }
  } else {
    if (DivHtmlInfoSet.scrollHeight <= HeightMax) {
      DivHtmlScrollSet.style.height = DivHtmlInfoSet.scrollHeight + "px";
    } else {
      DivHtmlScrollSet.style.height = HeightMax + "px";
    }
  }

  var StyleWidthAdjust = null;
  var StyleHeightAdjust = null;
  if ((DivHtmlScrollSet.clientWidth != 0) && (DivHtmlScrollSet.clientHeight != 0)) {
    if ((DivHtmlScrollSet.offsetWidth == DivHtmlScrollSet.scrollWidth)
      && (DivHtmlScrollSet.scrollWidth != DivHtmlScrollSet.clientWidth)) {
      StyleWidthAdjust = (DivHtmlInfoSet.scrollWidth + (DivHtmlInfoSet.scrollWidth - DivHtmlScrollSet.clientWidth)) + "px";
    }
    if ((DivHtmlScrollSet.offsetHeight == DivHtmlScrollSet.scrollHeight)
      && (DivHtmlScrollSet.scrollHeight != DivHtmlScrollSet.clientHeight)) {
      StyleHeightAdjust = (DivHtmlInfoSet.scrollHeight + (DivHtmlInfoSet.scrollHeight - DivHtmlScrollSet.clientHeight)) + "px";
    }
  }

  if (StyleWidthAdjust != null) {
    DivHtmlScrollSet.style.width = StyleWidthAdjust;

  }

  if (StyleHeightAdjust != null) {
    DivHtmlScrollSet.style.height = StyleHeightAdjust;
  }

  if (DivHtmlBottomBox != null) {
    DivHtmlBottomBox.style.left = (document.documentElement.clientWidth - DivHtmlBottomBox.scrollWidth) / 2 + "px";
    DivHtmlBottomBox.style.top  = (document.documentElement.clientHeight - DivHtmlBottomBox.scrollHeight) + "px";
  }

  BackGroundSet.style.width = document.documentElement.clientWidth + "px"
  BackGroundSet.style.height = DivHtmlBottomBox.scrollHeight + "px";

  BackGroundSet.style.left  = "0px";
  BackGroundSet.style.top  = (document.documentElement.clientHeight - BackGroundSet.scrollHeight - 10) + "px";

  BackGroundSet.style.height = (DivHtmlBottomBox.scrollHeight + SideSpace + 20) + "px";

  DivBottomClearBox.style.width = document.documentElement.clientWidth + "px"
  DivBottomClearBox.style.height = (DivHtmlBottomBox.scrollHeight + 10) + "px";

  return true;

}


//**********************************
//**  クラスインスタンス生成宣言  **
//**********************************
CommonClass.prototype.HtmlBottomBox = new CommonClass.prototype.HtmlBottomBoxClass();


//***********************************************
//*                                             *
//*    メッセージ表示モジュール (処理続行可)    *
//*                                             *
//***********************************************
CommonClass.prototype.ContinueMessageClass = function () {}

CommonClass.prototype.ContinueMessageClass.prototype.ObjectIndex = 1;

CommonClass.prototype.ContinueMessageClass.prototype.ParentThis = CommonClass.prototype;

//********************
//*  メッセージ表示  *
//********************
CommonClass.prototype.ContinueMessageClass.prototype.Show = function (MessageText, TitleText, MessageWidth, TextProperty, OutSideProperty, BorderProperty, BackgroundProperty, CloseButton, ZIndexProperty) {

  var ThisInstance = CommonClass.prototype.ContinueMessageClass.prototype;

  if (TextProperty == undefined) {
    TextProperty = [];
  }
  if (OutSideProperty == undefined) {
    OutSideProperty = [];
  }
  if (BorderProperty == undefined) {
    BorderProperty = [];
  }
  if (BackgroundProperty == undefined) {
    BackgroundProperty = [];
  }

  if (TextProperty["color"] == undefined) {
    TextProperty["color"] = "#000000";
  }
  if (OutSideProperty["color"] == undefined) {
    OutSideProperty["color"] = "#ffffff";
  }
  if (BorderProperty["color"] == undefined) {
    BorderProperty["color"] = "#000000";
  }
  if (BorderProperty["width"] == undefined) {
    BorderProperty["width"] = "1px";
  }
  if (BackgroundProperty["color"] == undefined) {
    BackgroundProperty["color"] = "#ffffff";
  }
  if (CloseButton == undefined) {
    CloseButton = false;
  }

  ThisInstance.ParentThis.KeyinDisabled(undefined, undefined, ZIndexProperty, undefined, undefined, undefined, ThisInstance.ObjectIndex);

  var MessageBoxSet = ThisInstance.ParentThis.AddTagElement(window.document.body, "div", {"id":"MessageBoxSet" + ThisInstance.ObjectIndex}, {"position":"fixed", "width":MessageWidth + "px", "height":"auto", "padding":"10px", "backgroundColor":OutSideProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff"})
  if (ZIndexProperty != undefined) {
    MessageBoxSet.style.zIndex = ZIndexProperty + 1;
  }

  var DivTextMsgInnerSet = ThisInstance.ParentThis.AddTagElement(MessageBoxSet, "div", undefined, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":"#e0e0e0", "borderStyle":"solid", "borderWidth":BorderProperty["width"] + " " + BorderProperty["width"] + " 0px " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"left", "verticalAlign":"middle", "color":TextProperty["color"]});
  DivTextMsgInnerSet.innerHTML = TitleText;

  var DivTextMsgInnerSet = ThisInstance.ParentThis.AddTagElement(MessageBoxSet, "div", undefined, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderColor":BorderProperty["color"], "textAlign":"left", "verticalAlign":"middle", "color":TextProperty["color"]});
  if (CloseButton == true) {
    DivTextMsgInnerSet.style.borderWidth = BorderProperty["width"] + " " + BorderProperty["width"] + " 0px " + BorderProperty["width"];
  } else {
    DivTextMsgInnerSet.style.borderWidth = BorderProperty["width"];
  }
  DivTextMsgInnerSet.innerHTML = MessageText;

  if (CloseButton == true) {
    var DivButtonSet = ThisInstance.ParentThis.AddTagElement(MessageBoxSet, "div", undefined, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderWidth":"0px " + BorderProperty["width"] + " " + BorderProperty["width"] + " " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"center", "verticalAlign":"middle"});
    var CloseButtonSet = ThisInstance.ParentThis.AddTagElement(DivButtonSet, "input", {"id":"CloseButtonSet" + ThisInstance.ObjectIndex, "type":"button", "value":"閉じる"}, {"width":"auto", "height":"auto", "padding":"2px 5px", "fontFamily":"ＭＳ Ｐゴシック", "font-size":"10"});
    ThisInstance.ParentThis.AddEvent(CloseButtonSet, "click", function () {ThisInstance.Erase();});
  }

  MessageBoxSet.style.left = (document.documentElement.clientWidth - MessageBoxSet.scrollWidth - 5) / 2 + "px";
  MessageBoxSet.style.top  = (document.documentElement.clientHeight - MessageBoxSet.scrollHeight - 5) / 2 + "px";

  ThisInstance.ParentThis.AddEvent(window, "resize", ThisInstance.onresize003);
  ThisInstance.ParentThis.AddEvent(window.document, "gesturechange", ThisInstance.onresize003);

}


//********************
//*  メッセージ消去  *
//********************
CommonClass.prototype.ContinueMessageClass.prototype.Erase = function () {

  var ThisInstance = CommonClass.prototype.ContinueMessageClass.prototype;

  ThisInstance.ParentThis.KeyinEnabled(ThisInstance.ObjectIndex);

  var MessageBoxSet = ThisInstance.ParentThis.GetTagElementById("MessageBoxSet" + ThisInstance.ObjectIndex, false);

  window.document.body.removeChild(MessageBoxSet);

  ThisInstance.ParentThis.RemoveEvent(window, "resize", ThisInstance.onresize003);
  ThisInstance.ParentThis.RemoveEvent(window.document, "gesturechange", ThisInstance.onresize003);

}


//*****************************
//*  Window リサイズ時の処理  *
//*****************************
CommonClass.prototype.ContinueMessageClass.prototype.onresize003 = function () {

  var ThisInstance = CommonClass.prototype.ContinueMessageClass.prototype;

  var MessageBoxSet = ThisInstance.ParentThis.GetTagElementById("MessageBoxSet" + ThisInstance.ObjectIndex, false);
  MessageBoxSet.style.left = (document.documentElement.clientWidth - MessageBoxSet.scrollWidth - 5) / 2 + "px";
  MessageBoxSet.style.top  = (document.documentElement.clientHeight - MessageBoxSet.scrollHeight - 5) / 2 + "px";

  return true;

}


//**********************************
//**  クラスインスタンス生成宣言  **
//**********************************
CommonClass.prototype.ContinueMessage = new CommonClass.prototype.ContinueMessageClass();


//*************************************************
//*                                               *
//*    画像表示モジュール (クローズボタンあり)    *
//*                                               *
//*************************************************
CommonClass.prototype.ImageStackBoxClass = function () {}

CommonClass.prototype.ImageStackBoxClass.prototype.ObjectIndex = 1;

CommonClass.prototype.ImageStackBoxClass.prototype.ParentThis = CommonClass.prototype;

CommonClass.prototype.ImageStackBoxClass.prototype.ResizeMode = "Zoom";

CommonClass.prototype.ImageStackBoxClass.prototype.ImageFileTbl = [];
CommonClass.prototype.ImageStackBoxClass.prototype.ImageFilePos = 0;

//**************
//*  画像表示  *
//**************
CommonClass.prototype.ImageStackBoxClass.prototype.Show = function (ImageFilePath, OutSideProperty, BorderProperty, BackgroundProperty, ZIndexProperty) {

  var ThisInstance = CommonClass.prototype.ImageStackBoxClass.prototype;

  if (OutSideProperty == undefined) {
    OutSideProperty = [];
  }
  if (BorderProperty == undefined) {
    BorderProperty = [];
  }
  if (BackgroundProperty == undefined) {
    BackgroundProperty = [];
  }

  if (OutSideProperty["color"] == undefined) {
    OutSideProperty["color"] = "#000000";
  }
  if (BorderProperty["color"] == undefined) {
    BorderProperty["color"] = "#ffffff";
  }
  if (BorderProperty["width"] == undefined) {
    BorderProperty["width"] = "1px";
  }
  if (BackgroundProperty["color"] == undefined) {
    BackgroundProperty["color"] = "#000000";
  }

  ThisInstance.ParentThis.KeyinDisabled("#000000", undefined, ZIndexProperty, undefined, undefined, undefined, ThisInstance.ObjectIndex);

  var DivImageStackBox = ThisInstance.ParentThis.AddTagElement(window.document.body, "div", {"id":"DivImageStackBox" + ThisInstance.ObjectIndex}, {"position":"fixed", "width":"auto", "height":"auto", "padding":"10px", "backgroundColor":OutSideProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff"});
  if (ZIndexProperty != undefined) {
    DivImageStackBox.style.zIndex = ZIndexProperty + 1;
  }
  var DivMainImageSet = ThisInstance.ParentThis.AddTagElement(DivImageStackBox, "div", {"id":"DivMainImageSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderWidth":BorderProperty["width"] + " " + BorderProperty["width"] + " 0px " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"center", "verticalAlign":"middle"});
  var DivImageScrollSet = ThisInstance.ParentThis.AddTagElement(DivMainImageSet, "div", {"id":"DivImageScrollSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"0px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff", "textAlign":"center", "verticalAlign":"middle"});

  var ImgMainImageSet = ThisInstance.ParentThis.AddTagElement(DivImageScrollSet, "img", {"id":"ImgMainImageSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff", "textAlign":"left", "verticalAlign":"middle"});
  ThisInstance.ParentThis.AddEvent(ImgMainImageSet, "load", function () {ThisInstance.onresize004();});

  var DivButtonSet = ThisInstance.ParentThis.AddTagElement(DivImageStackBox, "div", {"id":"DivButtonSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderWidth":"0px " + BorderProperty["width"] + " " + BorderProperty["width"] + " " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"center", "verticalAlign":"middle"});

  if (ImageFilePath instanceof Array) {
    var PreviousButtonSet = ThisInstance.ParentThis.AddTagElement(DivButtonSet, "input", {"id":"PreviousButtonSet" + ThisInstance.ObjectIndex, "type":"button", "value":"< 前の画像へ"}, {"marginRight":"10px"});
    ThisInstance.ParentThis.AddEvent(PreviousButtonSet, "click", function () {ThisInstance.Previous();});
  }

  var CloseButtonSet = ThisInstance.ParentThis.AddTagElement(DivButtonSet, "input", {"id":"CloseButtonSet" + ThisInstance.ObjectIndex, "type":"button", "value":"閉じる"}, {"width":"auto", "height":"auto", "padding":"2px 5px", "fontFamily":"ＭＳ Ｐゴシック", "font-size":"10"});
  ThisInstance.ParentThis.AddEvent(CloseButtonSet, "click", function () {ThisInstance.Erase();});

  if (ImageFilePath instanceof Array) {
    var NextButtonSet = ThisInstance.ParentThis.AddTagElement(DivButtonSet, "input", {"id":"NextButtonSet" + ThisInstance.ObjectIndex, "type":"button", "value":"次の画像へ >"}, {"marginLeft":"10px"});
    ThisInstance.ParentThis.AddEvent(NextButtonSet, "click", function () {ThisInstance.Next();});
  }

  ThisInstance.ParentThis.AddEvent(window, "resize", ThisInstance.onresize004);
  ThisInstance.ParentThis.AddEvent(window.document, "gesturechange", ThisInstance.onresize004);

  if (ImageFilePath instanceof Array) {
    ThisInstance.ParentThis.ImageStackBox.ImageFileTbl = ImageFilePath;
    for (var ii=0 ; ii<ThisInstance.ParentThis.ImageStackBox.ImageFileTbl.length ; ii++) {
      if (ThisInstance.ParentThis.ImageStackBox.ImageFileTbl[ii][1] == true) {
        ImgMainImageSet.setAttribute("src", ThisInstance.ParentThis.ImageStackBox.ImageFileTbl[ii][0]);
        ThisInstance.ParentThis.ImageStackBox.ImageFilePos = ii;
      }
    }
  } else {
    ImgMainImageSet.setAttribute("src", ImageFilePath);
  }


}


//****************
//*  前の画像へ  *
//****************
CommonClass.prototype.ImageStackBoxClass.prototype.Previous = function () {

  var ThisInstance = CommonClass.prototype.ImageStackBoxClass.prototype;

  ThisInstance.ParentThis.ImageStackBox.ImageFilePos--;

  if (ThisInstance.ParentThis.ImageStackBox.ImageFilePos < 0) {
    ThisInstance.ParentThis.ImageStackBox.ImageFilePos = ThisInstance.ParentThis.ImageStackBox.ImageFileTbl.length - 1;
  }

  ImgMainImageSet.setAttribute("src", ThisInstance.ParentThis.ImageStackBox.ImageFileTbl[ThisInstance.ParentThis.ImageStackBox.ImageFilePos][0]);

  return false;

}


//****************
//*  次の画像へ  *
//****************
CommonClass.prototype.ImageStackBoxClass.prototype.Next = function () {

  var ThisInstance = CommonClass.prototype.ImageStackBoxClass.prototype;

  ThisInstance.ParentThis.ImageStackBox.ImageFilePos++;

  if (ThisInstance.ParentThis.ImageStackBox.ImageFilePos > ThisInstance.ParentThis.ImageStackBox.ImageFileTbl.length - 1) {
    ThisInstance.ParentThis.ImageStackBox.ImageFilePos = 0;
  }

  ImgMainImageSet.setAttribute("src", ThisInstance.ParentThis.ImageStackBox.ImageFileTbl[ThisInstance.ParentThis.ImageStackBox.ImageFilePos][0]);

  return false;

}


//**************
//*  画像消去  *
//**************
CommonClass.prototype.ImageStackBoxClass.prototype.Erase = function () {

  var ThisInstance = CommonClass.prototype.ImageStackBoxClass.prototype;

  ThisInstance.ParentThis.KeyinEnabled(ThisInstance.ObjectIndex);

  var DivImageStackBox = ThisInstance.ParentThis.GetTagElementById("DivImageStackBox" + ThisInstance.ObjectIndex, false);

  window.document.body.removeChild(DivImageStackBox);

  ThisInstance.ParentThis.RemoveEvent(window, "resize", ThisInstance.onresize004);
  ThisInstance.ParentThis.RemoveEvent(window.document, "gesturechange", ThisInstance.onresize004);

}


//*****************************
//*  Window リサイズ時の処理  *
//*****************************
CommonClass.prototype.ImageStackBoxClass.prototype.onresize004 = function () {

  var ThisInstance = CommonClass.prototype.ImageStackBoxClass.prototype;

  var SideSpace = 50;

  var DivImageStackBox = ThisInstance.ParentThis.GetTagElementById("DivImageStackBox" + ThisInstance.ObjectIndex, false);
  var DivMainImageSet = ThisInstance.ParentThis.GetTagElementById("DivMainImageSet" + ThisInstance.ObjectIndex, false);
  var DivImageScrollSet = ThisInstance.ParentThis.GetTagElementById("DivImageScrollSet" + ThisInstance.ObjectIndex, false);
  var ImgMainImageSet = ThisInstance.ParentThis.GetTagElementById("ImgMainImageSet" + ThisInstance.ObjectIndex, false);
  var DivButtonSet = ThisInstance.ParentThis.GetTagElementById("DivButtonSet" + ThisInstance.ObjectIndex, false);

  var WidthRate  = (ImgMainImageSet.naturalWidth + SideSpace) * 100 / document.documentElement.clientWidth;
  var HeightRate = (ImgMainImageSet.naturalHeight + DivButtonSet.scrollHeight + SideSpace) * 100 / document.documentElement.clientHeight;

  if (ThisInstance.ParentThis.ImageStackBox.ResizeMode == "Zoom") {
    if ((WidthRate > 100) || (HeightRate > 100)) {
      if (WidthRate > HeightRate) {
        var ImageWidth = document.documentElement.clientWidth - SideSpace;
        if (ImageWidth < 1) {
          ImageWidth = 1;
        }
        ImgMainImageSet.style.width = ImageWidth + "px";
        ImgMainImageSet.style.height = "auto";
      } else {
        ImgMainImageSet.style.width = "auto";
        var ImageHeight = document.documentElement.clientHeight - DivButtonSet.scrollHeight - SideSpace;
        if (ImageHeight < 1) {
          ImageHeight = 1;
        }
        ImgMainImageSet.style.height = ImageHeight + "px";
      }
    } else {
      ImgMainImageSet.style.width = "auto";
      ImgMainImageSet.style.height = "auto";
    }
  } else if (ThisInstance.ParentThis.ImageStackBox.ResizeMode == "Scroll") {
    DivImageScrollSet.style.overflowX = "auto";
    if (WidthRate > 100) {
      var ImageScrollWidth = document.documentElement.clientWidth - SideSpace;
      if (ImageScrollWidth < 1) {
        ImageScrollWidth = 1;
      }
      DivImageScrollSet.style.width = ImageScrollWidth + "px";
    } else {
      DivImageScrollSet.style.width = ImgMainImageSet.scrollWidth + "px";
    }
    DivImageScrollSet.style.overflowY = "auto";
    if (HeightRate > 100) {
      var ImageScrollHeight = document.documentElement.clientHeight - DivButtonSet.scrollHeight - SideSpace;
      if (ImageScrollHeight < 1) {
        ImageScrollHeight = 1;
      }
      DivImageScrollSet.style.height = ImageScrollHeight + "px";
    } else {
      DivImageScrollSet.style.height = ImgMainImageSet.scrollHeight + "px";
    }
  }

  if (DivImageStackBox != null) {
    DivImageStackBox.style.left = (document.documentElement.clientWidth - DivImageStackBox.scrollWidth) / 2 + "px";
    DivImageStackBox.style.top  = (document.documentElement.clientHeight - DivImageStackBox.scrollHeight) / 2 + "px";
  }

  return true;

}


//**********************************
//**  クラスインスタンス生成宣言  **
//**********************************
CommonClass.prototype.ImageStackBox = new CommonClass.prototype.ImageStackBoxClass();


//*************************************************
//*                                               *
//*    地図表示モジュール (クローズボタンあり)    *
//*                                               *
//*************************************************
CommonClass.prototype.MapStackBoxClass = function () {}

CommonClass.prototype.MapStackBoxClass.prototype.ObjectIndex = 1;

CommonClass.prototype.MapStackBoxClass.prototype.ParentThis = CommonClass.prototype;

CommonClass.prototype.MapStackBoxClass.prototype.MapObj = null;
CommonClass.prototype.MapStackBoxClass.prototype.MapMarker = null;

CommonClass.prototype.MapStackBoxClass.prototype.Latitude = 0;
CommonClass.prototype.MapStackBoxClass.prototype.Longitude = 0;
CommonClass.prototype.MapStackBoxClass.prototype.Zoom = 15;

//**************
//*  地図表示  *
//**************
CommonClass.prototype.MapStackBoxClass.prototype.Show = function (OutSideProperty, BorderProperty, BackgroundProperty, ZIndexProperty) {

  var ThisInstance = CommonClass.prototype.MapStackBoxClass.prototype;

  if (OutSideProperty == undefined) {
    OutSideProperty = [];
  }
  if (BorderProperty == undefined) {
    BorderProperty = [];
  }
  if (BackgroundProperty == undefined) {
    BackgroundProperty = [];
  }

  if (OutSideProperty["color"] == undefined) {
    OutSideProperty["color"] = "#000000";
  }
  if (BorderProperty["color"] == undefined) {
    BorderProperty["color"] = "#ffffff";
  }
  if (BorderProperty["width"] == undefined) {
    BorderProperty["width"] = "1px";
  }
  if (BackgroundProperty["color"] == undefined) {
    BackgroundProperty["color"] = "#000000";
  }

  ThisInstance.ParentThis.KeyinDisabled("#000000", undefined, ZIndexProperty, undefined, undefined, undefined, ThisInstance.ObjectIndex);

  var DivMapStackBox = ThisInstance.ParentThis.AddTagElement(window.document.body, "div", {"id":"DivMapStackBox" + ThisInstance.ObjectIndex}, {"position":"fixed", "width":"auto", "height":"auto", "padding":"10px", "backgroundColor":OutSideProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff"});
  if (ZIndexProperty != undefined) {
    DivMapStackBox.style.zIndex = ZIndexProperty + 1;
  }
  var DivMainMapSet = ThisInstance.ParentThis.AddTagElement(DivMapStackBox, "div", {"id":"DivMainMapSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderWidth":BorderProperty["width"] + " " + BorderProperty["width"] + " 0px " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"center", "verticalAlign":"middle"});
  var DivMapShowSet = ThisInstance.ParentThis.AddTagElement(DivMainMapSet, "div", {"id":"DivMapShowSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"0px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"none", "borderWidth":"0px", "borderColor":"#ffffff", "textAlign":"center", "verticalAlign":"middle"});
  var DivButtonSet = ThisInstance.ParentThis.AddTagElement(DivMapStackBox, "div", {"id":"DivButtonSet" + ThisInstance.ObjectIndex}, {"width":"auto", "height":"auto", "padding":"10px", "backgroundColor":BackgroundProperty["color"], "borderStyle":"solid", "borderWidth":"0px " + BorderProperty["width"] + " " + BorderProperty["width"] + " " + BorderProperty["width"], "borderColor":BorderProperty["color"], "textAlign":"center", "verticalAlign":"middle"});
  var CloseButtonSet = ThisInstance.ParentThis.AddTagElement(DivButtonSet, "input", {"id":"CloseButtonSet" + ThisInstance.ObjectIndex, "type":"button", "value":"閉じる"}, {"width":"auto", "height":"auto", "padding":"2px 5px", "fontFamily":"ＭＳ Ｐゴシック", "font-size":"10"});
  ThisInstance.ParentThis.AddEvent(CloseButtonSet, "click", function () {ThisInstance.Erase();});

  ThisInstance.onresize005();

  ThisInstance.ParentThis.MapStackBox.Initialize();

  ThisInstance.ParentThis.AddEvent(window, "resize", ThisInstance.onresize005);
  ThisInstance.ParentThis.AddEvent(window.document, "gesturechange", ThisInstance.onresize005);

}


//****************
//*  地図初期化  *
//****************
CommonClass.prototype.MapStackBoxClass.prototype.Initialize = function () {

  var ThisInstance = CommonClass.prototype.MapStackBoxClass.prototype;

  var MapOptions = {
    zoom: parseInt(ThisInstance.ParentThis.MapStackBox.Zoom, 10),
    center: new google.maps.LatLng(ThisInstance.Latitude, ThisInstance.Longitude),
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    disableDoubleClickZoom: true,
    zoomControl: true,
    zoomControlOptions: {
      style: google.maps.ZoomControlStyle.DEFAULT
/*      style: google.maps.ZoomControlStyle.SMALL*/
    },
    scrollwheel: false,
    scaleControl: true,
    mapTypeControl: false,
    streetViewControl: false,
    overviewMapControl: false,
    panControl: false,
    draggable: true,
    disableDefaultUI: true,
    navigationControl: false
  }

  ThisInstance.MapObj = new google.maps.Map(ThisInstance.ParentThis.GetTagElementById("DivMapShowSet" + ThisInstance.ObjectIndex, false), MapOptions);

  var MapStyle = [
    {
      featureType: "all",
      elementType: "labels.icon",
      stylers:[{
        visibility: "off"
      }]
    }
  ]

  var MapOptions = {
    name: "Search"
  };

  var MapType = new google.maps.StyledMapType(MapStyle, MapOptions);
  ThisInstance.MapObj.mapTypes.set("MapStyle", MapType);
  ThisInstance.MapObj.setMapTypeId("MapStyle");

  ThisInstance.MapMarker = new google.maps.Marker({
    map: ThisInstance.MapObj,
    position: ThisInstance.MapObj.center,
    icon: "https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=物|FF8080|000000"
  });

  var SetPos = new google.maps.LatLng(ThisInstance.Latitude, ThisInstance.Longitude);

  ThisInstance.MapMarker.position = SetPos;
  ThisInstance.MapMarker.setMap(ThisInstance.MapObj);
  ThisInstance.MapObj.setCenter(ThisInstance.MapMarker.position);

}


//**************
//*  地図消去  *
//**************
CommonClass.prototype.MapStackBoxClass.prototype.Erase = function () {

  var ThisInstance = CommonClass.prototype.MapStackBoxClass.prototype;

  ThisInstance.ParentThis.KeyinEnabled(ThisInstance.ObjectIndex);

  var DivMapStackBox = ThisInstance.ParentThis.GetTagElementById("DivMapStackBox" + ThisInstance.ObjectIndex, false);

  window.document.body.removeChild(DivMapStackBox);

  ThisInstance.ParentThis.RemoveEvent(window, "resize", ThisInstance.onresize005);
  ThisInstance.ParentThis.RemoveEvent(window.document, "gesturechange", ThisInstance.onresize005);

}


//*****************************
//*  Window リサイズ時の処理  *
//*****************************
CommonClass.prototype.MapStackBoxClass.prototype.onresize005 = function () {

  var ThisInstance = CommonClass.prototype.MapStackBoxClass.prototype;

  var SideSpace = 50;

  var DivMapStackBox = ThisInstance.ParentThis.GetTagElementById("DivMapStackBox" + ThisInstance.ObjectIndex, false);
  var DivMainMapSet = ThisInstance.ParentThis.GetTagElementById("DivMainMapSet" + ThisInstance.ObjectIndex, false);
  var DivMapShowSet = ThisInstance.ParentThis.GetTagElementById("DivMapShowSet" + ThisInstance.ObjectIndex, false);
  var DivButtonSet = ThisInstance.ParentThis.GetTagElementById("DivButtonSet" + ThisInstance.ObjectIndex, false);

  var MapScrollWidth = document.documentElement.clientWidth;
  if (MapScrollWidth < 1) {
    MapScrollWidth = 1;
  }
  DivMapShowSet.style.width = MapScrollWidth + "px";

  var MapScrollHeight = document.documentElement.clientHeight - DivButtonSet.scrollHeight;
  if (MapScrollHeight < 1) {
    MapScrollHeight = 1;
  }
  DivMapShowSet.style.height = MapScrollHeight + "px";

  if (DivMapStackBox != null) {
    DivMapStackBox.style.left = (document.documentElement.clientWidth - DivMapStackBox.scrollWidth) / 2 + "px";
    DivMapStackBox.style.top  = (document.documentElement.clientHeight - DivMapStackBox.scrollHeight) / 2 + "px";
  }

  return true;

}


//**********************************
//**  クラスインスタンス生成宣言  **
//**********************************
CommonClass.prototype.MapStackBox = new CommonClass.prototype.MapStackBoxClass();


//**********************
//*  自身のパスを取得  *
//**********************
(function(){

  var ThisInstance = CommonClass.prototype;

  ThisInstance.GetMyURL(ThisInstance);

  return false;

})();


//******************************
//*  環境設定ファイル読み込み  *
//******************************
(function(){

  var ThisInstance = CommonClass.prototype;

  ThisInstance.ConfigFileRead(ThisInstance.MyPathName + "/../configjava.php", ThisInstance);

  return false;

})();


//******************************************
//*  CSV コントロール設定ファイル読み込み  *
//******************************************
(function(){

  var ThisInstance = CommonClass.prototype;

  ThisInstance.getHTML("POST", ThisInstance.URLSet(undefined, "Common", true) + "Csv2Param.php", undefined, false, function (xmlobj) {
    var XMLWork = xmlobj.responseXML;
    var ErrorMessageXML = XMLWork.getElementsByTagName("ErrorMessage");
    if (ThisInstance.GetXMLTextContent(ErrorMessageXML[0]) == "") {
      var CsvFileXML = XMLWork.getElementsByTagName("CsvFile");
      for (var ii=0 ; ii<CsvFileXML[0].childNodes.length ; ii++) {
        if (CsvFileXML[0].childNodes[ii].tagName == undefined) {
          continue;
        }
        ThisInstance[CsvFileXML[0].childNodes[ii].tagName] = {};
        var CsvTblXML = CsvFileXML[0].getElementsByTagName(CsvFileXML[0].childNodes[ii].tagName);
        var ItemXML = CsvTblXML[0].getElementsByTagName("Item");
        for (var jj=0 ; jj<ItemXML.length ; jj++) {
          var KeyXML = ItemXML[jj].getElementsByTagName("Key");
          ThisInstance[CsvFileXML[0].childNodes[ii].tagName][ThisInstance.GetXMLTextContent(KeyXML[0])] = {};
          var ValueXML = ItemXML[jj].getElementsByTagName("*");
          for (var kk=0 ; kk<ValueXML.length ; kk++) {
            if (ValueXML[kk].tagName.substr(0, 5) != "Value") {
              continue;
            }
            ThisInstance[CsvFileXML[0].childNodes[ii].tagName][ThisInstance.GetXMLTextContent(KeyXML[0])][ValueXML[kk].tagName.substr(5)] = ThisInstance.GetXMLTextContent(ValueXML[kk]);
          }
        }
      }
    } else {
      alert(ThisInstance.GetXMLTextContent(ErrorMessageXML[0]));
    }
    return false;
  });

  return false;

})();


//**********************************
//**  クラスインスタンス生成宣言  **
//**********************************
var CommonInstance = new CommonClass();
