function LoginInputCheck(){
  if(document.getElementById('systemid').value == ''){
    alert('ログインIDを入力してください。');
    fncInit();
    return ;
  }
  
  if(document.getElementById('systempasswd').value == ''){
    alert('パスワードを入力してください。');
    document.getElementById('systempasswd').focus();
    return ;
  }
  document.form_main.submit();
}

function PageChanges(page){

  document.getElementById('page').value = page;
  document.frmPagechanger.submit();
}

function MonthChanges(){
  document.frmMonthchanger.submit();
}

function clearFormAll() {
    for (var i=0; i<document.forms.length; ++i) {
        clearForm(document.forms[i]);
    }
}
function clearForm(form) {
    for(var i=0; i<form.elements.length; ++i) {
        clearElement(form.elements[i]);
    }
}
function clearElement(element) {
    switch(element.type) {
        case "hidden":
        case "submit":
        case "reset":
        case "button":
        case "image":
            return;
        case "file":
            return;
        case "text":
        case "password":
            element.value = "";
            return;
        case "textarea":
            element.value = "";
            tinyMCE.execCommand('SelectAll');
            tinyMCE.execCommand('Delete');
            return;
        case "checkbox":
        case "radio":
            element.checked = false;
            return;
        case "select-one":
        case "select-multiple":
            element.selectedIndex = 0;
            return;
        default:
    }
}


//==============================================================================
// TinyMCE用
// 画像を生のHTML形式でテキストエリアに挿入する
function ImageInsert(name,url,h,v){
  if( url == "" )return;
  tinyMCE.execCommand(
    'mceInsertContent',
    false,
    '<img src="' + url +'" alt="' + name + '" width="' + h + '" height="' + v + '" />'
  );
}

// 画像を生のHTML形式でテキストエリアに挿入する（サイズを指定しない）
function ImageInsert2(name,url){
  if( url == "" )return;
  tinyMCE.execCommand(
    'mceInsertContent',
    false,
    '<img src="' + url +'" alt="' + name + '" />'
  );
}

// ぴゅっと隠したりにょんっと出したりする
function exTend(idName) {
  idMenu= document.getElementById(idName).style;
  if (idMenu.display == 'none') idMenu.display = "block"; else idMenu.display = "none";
}
//==============================================================================







//======================================================================
//=関 数 名：
//=引　　数：Obj
//=戻 り 値：
//=処理概要：プルダウン初期化関数
//=作 成 日：
//======================================================================
function fncOptClear(Obj){
  var Ls1_Max = Obj.length -1;
  while((Ls1_Max + 1)){
    for(i=0;i<=Ls1_Max; i++){
      Obj.options[i] = null;
    }
    Ls1_Max = Obj.length -1;
  }
}
//======================================================================
//=関 数 名：
//=引　　数：
//=戻 り 値：
//=処理概要：文字列の前後半角スペースを取り除く
//=作 成 日：
//======================================================================
function Trim(strTemp){
  var strRet, strFinal;
  strRet = LTrim(strTemp);
  strFinal = RTrim(strRet);
  return strFinal;
}
//======================================================================
//=関 数 名：RTrim
//=引　　数：
//=戻 り 値：
//=処理概要：文字列の右半角スペースを取り除く
//=作 成 日：
//======================================================================
function RTrim(strTemp){
  var nLoop = 0;
  var strReturn = strTemp;
  while (nLoop < strTemp.length){
    if (strReturn.substring(strReturn.length - 1, strReturn.length) == " "){
      strReturn = strTemp.substring(0, strTemp.length - (nLoop + 1));
    }else{
      break;
    }
    nLoop++;
  }
  return strReturn;
}
//======================================================================
//=関 数 名：LTrim
//=引　　数：
//=戻 り 値：
//=処理概要：文字列の左半角スペースを取り除く
//=作 成 日：
//======================================================================
function LTrim(strTemp){
  var nLoop = 0;
  var strReturn = strTemp;
  while (nLoop < strTemp.length){
    if (strReturn.substring(0, 1) == " "){
      strReturn = strTemp.substring(nLoop + 1, strTemp.length);
    }else{
      break;
    }
    nLoop++;
  }
  return strReturn;
}
//======================================================================
//=関 数 名：LengthB
//=引　　数：
//=戻 り 値：
//=処理概要：文字数をバイトとで返す
//=作 成 日：
//======================================================================
function LengthB(str){
  var len = 0;
  var i;
  str = escape(str);
  for (i = 0; i < str.length; i++, len++) {
    if (str.charAt(i) == "%") {
      if (str.charAt(++i) == "u") {
        i += 3;
        len++;
      }
      i++;
    }
  }
  return len;
}
//======================================================================
//=関 数 名：KatakanaZenToHan
//=引　　数：
//=戻 り 値：
//=処理概要：全角カタカナを半角カタカナへ変換
//=作 成 日：
//======================================================================
function KatakanaZenToHan(szValue){
  var HanKana = new Array("ｶﾞ","ｷﾞ","ｸﾞ","ｹﾞ","ｺﾞ","ｻﾞ","ｼﾞ","ｽﾞ","ｾﾞ","ｿﾞ","ﾀﾞ","ﾁﾞ",
    "ﾂﾞ","ﾃﾞ","ﾄﾞ","ﾊﾞ","ﾋﾞ","ﾌﾞ","ﾍﾞ","ﾎﾞ","ﾊﾟ","ﾋﾟ","ﾌﾟ","ﾍﾟ","ﾎﾟ","ｦ","ｧ",
    "ｨ","ｩ","ｪ","ｫ","ｬ","ｭ","ｮ","ｯ","ｰ","ｱ","ｲ","ｳ","ｴ","ｵ","ｶ","ｷ","ｸ","ｹ",
    "ｺ","ｻ","ｼ","ｽ","ｾ","ｿ","ﾀ","ﾁ","ﾂ","ﾃ","ﾄ","ﾅ","ﾆ","ﾇ","ﾈ","ﾉ","ﾊ","ﾋ",
    "ﾌ","ﾍ","ﾎ","ﾏ","ﾐ","ﾑ","ﾒ","ﾓ","ﾔ","ﾕ","ﾖ","ﾗ","ﾘ","ﾙ","ﾚ","ﾛ","ﾜ","ﾝ","","");
    
  var ZenKana = new Array("ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ",
    "ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ヲ","ァ",
    "ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ア","イ","ウ","エ","オ","カ",
    "キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ",
    "ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ",
    "ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン","　"," ");
  
  for(var i = 0; i < HanKana.length; i++){
    var rgexp = new RegExp(ZenKana[i], "g");
    szValue = szValue.replace(rgexp, HanKana[i]);
  }
  return szValue;
}
//======================================================================
//=関 数 名：KatakanaHanToZen
//=引　　数：
//=戻 り 値：
//=処理概要：半角カタカナを全角カタカナへ変換
//=作 成 日：
//======================================================================
function KatakanaHanToZen(szValue){
  var HanKana = new Array("ｶﾞ","ｷﾞ","ｸﾞ","ｹﾞ","ｺﾞ","ｻﾞ","ｼﾞ","ｽﾞ","ｾﾞ","ｿﾞ","ﾀﾞ","ﾁﾞ",
    "ﾂﾞ","ﾃﾞ","ﾄﾞ","ﾊﾞ","ﾋﾞ","ﾌﾞ","ﾍﾞ","ﾎﾞ","ﾊﾟ","ﾋﾟ","ﾌﾟ","ﾍﾟ","ﾎﾟ","ｦ","ｧ",
    "ｨ","ｩ","ｪ","ｫ","ｬ","ｭ","ｮ","ｯ","ｰ","ｱ","ｲ","ｳ","ｴ","ｵ","ｶ","ｷ","ｸ","ｹ",
    "ｺ","ｻ","ｼ","ｽ","ｾ","ｿ","ﾀ","ﾁ","ﾂ","ﾃ","ﾄ","ﾅ","ﾆ","ﾇ","ﾈ","ﾉ","ﾊ","ﾋ",
    "ﾌ","ﾍ","ﾎ","ﾏ","ﾐ","ﾑ","ﾒ","ﾓ","ﾔ","ﾕ","ﾖ","ﾗ","ﾘ","ﾙ","ﾚ","ﾛ","ﾜ","ﾝ"," ");
    
  var ZenKana = new Array("ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ",
    "ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ヲ","ァ",
    "ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ア","イ","ウ","エ","オ","カ",
    "キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ",
    "ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ",
    "ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン","　");
  
  for(var i = 0; i < HanKana.length; i++){
    var rgexp = new RegExp(HanKana[i], "g");
    szValue = szValue.replace(rgexp, ZenKana[i]);
  }
  return szValue;
}

//======================================================================
//=関 数 名：HankakuCheck
//=引　　数：チェックすべき文字列
//=戻 り 値：全て半角 = true   全角が入っている = false
//=処理概要：「半角のみ」入力の場合のチェック
//=作 成 日：
//======================================================================
function HankakuCheck(szValue){
  return szValue.length == LengthB(szValue);
}
//======================================================================
//=関 数 名：ZenkakuCheck
//=引　　数：チェックすべき文字列
//=戻 り 値：全て全角 = true   半角が入っている = false
//=処理概要：「全角のみ」入力の場合のチェック
//=作 成 日：
//======================================================================
function ZenkakuCheck(szValue){
  return (szValue.length * 2) == LengthB(szValue);
}
//======================================================================
//=関 数 名：HankakuKatakanaCheck
//=引　　数：チェックすべき文字列
//=戻 り 値：全て半角カタカナ = true   一部半角カタカナ以外 = false
//=処理概要：半角カタカナ文字以外の文字列が入っている場合はエラー
//=作 成 日：
//======================================================================
function HankakuKatakanaCheck(szValue){
  for (var i = 0; i < szValue.length; ++i){
    var c = szValue.charCodeAt(i);
    if (!( 65382 <= c && c <= 65439)){
      return false;
    }
  }
  return true;
}
//======================================================================
//=関 数 名：NotHankakuKatakanaCheck
//=引　　数：チェックすべき文字列
//=戻 り 値：半角カタカナ無し = true　　一部半角カタカナ = false
//=処理概要：半角カタカナ文字が文字列に設定されている場合はエラー
//=作 成 日：
//======================================================================
function NotHankakuKatakanaCheck(szValue){
  for (var i = 0; i < szValue.length; i++){
    var c = szValue.charCodeAt(i);
    if ((65382 <= c && c <= 65439 )){
      return false;
    }
  }
  return true;
}
//======================================================================
//=関 数 名：IsNumber
//=引　　数：
//=戻 り 値：
//=処理概要：数値かどうかチェックする
//=作 成 日：
//======================================================================
function IsNumber(szValue){
  return !szValue.match(/[^0-9]/g);
}
//======================================================================
//=関 数 名：IsAlnum
//=引　　数：
//=戻 り 値：
//=処理概要：数値かどうかチェックする
//=作 成 日：
//======================================================================
function IsAlnum(szValue){
  return !szValue.match(/[^0-9a-zA-Z]/g);
}
//======================================================================
//=関 数 名：IsAlnum2
//=引　　数：
//=戻 り 値：
//=処理概要：半角数値と「-」かどうかチェック
//=作 成 日：
//======================================================================
function IsAlnum2(szValue){
  return !szValue.match(/[^0-9,-]/g);
}
//======================================================================
//=関 数 名：FullTrim
//=引　　数：
//=戻 り 値：
//=処理概要：文字列の前後の半角、全角スペースを削除する
//=作 成 日：
//======================================================================
function FullTrim(szValue){
  szValue = szValue.replace(/(　)/g, " ");
  szValue = Trim(szValue);
  szValue = szValue.replace(/\s+|\s+$/g, "　");
  return szValue;
}
//======================================================================
//=関 数 名：KeyControl
//=引　　数：
//=戻 り 値：
//=処理概要：Enterキー押下時次のコントロールへフォーカスを移動
//=作 成 日：
//======================================================================
function KeyControl(key_NM, Item_NM){
  switch(key_NM.keyCode){
    case 13: key_NM.keyCode=9;
             return;
  }
}
//======================================================================
//=関 数 名：funcGetOfTheWeek
//=引　　数：
//=戻 り 値：曜日
//=処理概要：日付から曜日を取得する
//=作 成 日：
//======================================================================
function funcGetOfTheWeek(iYear, iMonth, iDay){
  if(funcIsDate(iYear, iMonth, iDay)){
    wday  = new Array('日','月','火','水','木','金','土');
    tdate = new Date(iYear, iMonth - 1, iDay);
    tw    = tdate.getDay();
    return wday[tw];
  }else{
    return "";
  }
}
//======================================================================
//=関 数 名：funcIsDate
//=引　　数：西暦年、月、日
//=戻 り 値：正しい日付：true  正しくない日付：false
//=処理概要：日付チェック（西暦）
//=作 成 日：2004/MM/DD
//======================================================================
function funcIsDate(sYYYY,sM,sD){
  var y  = sYYYY;
  var m  = sM;
  var d  = sD;
  var ymd = y + m + d;
  var flag = true;
  y = parseInt(y, 10);
  m = parseInt(m, 10) - 1;
  d = parseInt(d, 10);
  var CheckDate = new Date(y,m,d);
  if (ymd == ""){
    return false;
  }else{
    if (CheckDate.getYear() < 1900) {
    if (y != CheckDate.getYear() + 1900) { flag = false; }
  }else{
    if (y != CheckDate.getYear()) { flag = false; }
  }
  if (m != CheckDate.getMonth()) { flag = false; }
  if (d != CheckDate.getDate()) { flag = false; }
  if (flag) {
  }else {
    //日付として正しくない。
    return false;
    }
  }
  return true;
}

//======================================================================
//=関 数 名：
//=引　　数：西暦年、月、日
//=戻 り 値：正しい前後関係：true  正しくない前後関係：false
//=処理概要：日付の前後関係チェック（西暦）
//=作 成 日：2010/MM/DD
//======================================================================
function funcIsComparison(sY,sM,sD,eY,eM,eD){
  
  varDay1 = new Date(sY + sM + sD);
  varDay2 = new Date(eY + eM + eD);
  
  if(varDay1 > varDay2){
    return false;
  }
  return true;
}

function funcCastTopZero(intstr){
  return intstr.replace(/^0+/, '').replace(/^$/, '0');
}

function funcIsEmail(param){
  if(param.match("^[0-9A-Za-z._\-]+@[0-9A-Za-z.\-]+$")){
    return true;
  }
  return false;
}

//======================================================================
//=関 数 名：funcIsTime
//=引　　数：２４H制時、分、秒
//=戻 り 値：正しい日付：true  正しくない日付：false
//=処理概要：時間チェック（２４H制）
//=作 成 日：2004/MM/DD
//======================================================================
function funcIsTime(sH,sI,sS){
  var y  = 2005;
  var m  = 1;
  var d  = 1;
  var h  = sH;
  var i  = sI;
  var s  = sS;
  var his = h + i + s;
  var flag = true;
  h = parseInt(h, 10);
  i = parseInt(i, 10);
  s = parseInt(s, 10);
  if(h >= 24) { flag = false; }
  if(i >= 60) { flag = false; }
  if(s >= 60) { flag = false; }
  if(h < 0)   { flag = false; }
  if(i < 0)   { flag = false; }
  if(s < 0)   { flag = false; }
  var CheckDate = new Date(y,m,d,h,i,s);
  if (his == ""){
    return false;
  }else{
    if ((CheckDate.getHours() >= 24)   || (CheckDate.getHours() < 0))  { flag = false; }
    if ((CheckDate.getMinutes() >= 60) || (CheckDate.getMinutes() < 0)){ flag = false; }
    if ((CheckDate.getSeconds() >= 60) || (CheckDate.getSeconds() < 0)){ flag = false; }
  }
  if(!flag){
    return false;
  }else{
    return true;
  }
}

//======================================================================
//=関 数 名：NumberOnly
//=引　　数：event
//=戻 り 値：数値のみTrue 数値以外False
//=処理概要：入力項目に数値のみ入力させるようにする
//=作 成 日：2004/MM/DD
//======================================================================
function NumberOnly(key_NM){
  if( (!key_NM.shiftKey) && 
      (48 <= key_NM.keyCode) && (key_NM.keyCode <= 57)  ||
      (96 <= key_NM.keyCode) && (key_NM.keyCode <= 105) ||
      (key_NM.keyCode == 8)  ||
      (key_NM.keyCode == 9)  ||
      (key_NM.keyCode == 13) ||
      (key_NM.keyCode == 16) ||
      (key_NM.keyCode == 37) ||
      (key_NM.keyCode == 39) ||
      (key_NM.keyCode == 46)){
      return true;
  }
  return false;
}
//======================================================================
//=関 数 名：StatusMsg
//=引　　数：文字列
//=戻 り 値：
//=処理概要：ステータスバーにメッセージを表示する。
//=作 成 日：2004/11/01
//======================================================================
function StatusMsg(msg){
  if (msg != ''){
   window.status = msg;
  }
  return true;
}

//======================================================================
//=関 数 名：btnMenuClick
//=引　　数：文字列
//=戻 り 値：
//=処理概要：URLへロケーション。
//=作 成 日：2004/11/01
//======================================================================
function btnMenuClick(url) 
{
  if (url != '')
  {
    window.location = url;
  }
}
//======================================================================
// 指定月の末日を取得する
//======================================================================
function GetLastDay(yy,mm){
  for(var i=28;funcIsDate(yy,mm,i);i++){
    
  }
  
  return (i - 1);
}
//======================================================================
//=関 数 名：DateChange
//=引　　数：文字列（各プルダウン名）
//=戻 り 値：
//=処理概要：年月日プルダウンの日プルダウンを生成する
//=作 成 日：2006/02/09
//======================================================================
function DateChange(str_y,str_m,str_d,mchg_flg){
  var obj_y = document.all[str_y];
  var obj_m = document.all[str_m];
  var obj_d = document.all[str_d];
  var tmp = "";
    
  // 日プルダウン初期化
  fncOptClear(obj_d);
  obj_d.options[0] = new Option('','');

  if((obj_y.value) && (obj_m.value)){
    var last  = GetLastDay(obj_y.value,obj_m.value);
    for(var i=1;i<=last;i++){
      if(i.toString().length == 1){
        tmp = "0" + i;
      }else{
        tmp = i;
      }
      obj_d.options[i] = new Option(tmp,tmp);
    }
  }
  if(mchg_flg){
    obj_m.value="";
  }
}

function chkDate(fY,fM,fD){
  if( fY.value != "" || fM.value != "" || fD.value != "" ){
    if( !funcIsDate(fY.value,fM.value,fD.value) ){
      alert('日付が不正です。');
      fY.focus();
      fY.select();
      return false;
    }
    return true;
  }
  return true;
}
