//<!--
//********************************************************************************
// 研究業績管理システム
//* （共通）
//********************************************************************************

var winCls;

//-------------------------------------------------------------------------------
//  関数名      ：sequpdate(action)
//  概要        ：ＵＲＬ内のSeqパラメータの値を更新する
//  引数        ：hw    : 呼び元のウィンドウ
//                action: ＵＲＬ文字列
//  戻り値      ：ＵＲＬ文字列
//-------------------------------------------------------------------------------
function sequpdate(action)
{
  var pos;
  var pos2;
  var url;
  var strseq;
  var seq;
  var today = new Date();
  var hour;
  var minute;
  var second;

  url = action;
  pos = url.search(/seq=/i);
  if( pos != -1 ){
    hour = today.getHours();
    minute = today.getMinutes();
    second = today.getSeconds();
    seq = (hour * 3600) + (minute * 60) + second;
    pos2 = url.indexOf( "&", pos );
    if( pos2 == -1 ){
      url = url.substring(0, pos) + "Seq=" + seq;
    } else {
      url = url.substring(0, pos) + "Seq=" + seq + url.substring(pos2);
    }
  }
  return(url);
}

//-------------------------------------------------------------------------------
//  関数名      ：btnDelClick(hw, msg)
//  概要        ：削除ボタンクリック時の確認を行う
//  引数        ：hw : 呼び元のウィンドウ
//                msg: 表示メッセージ
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function btnDelClick(hw, msg, mode)
{
  var pos;
  var pos2;
  var url;
  if( confirm(msg) ){
    url = hw.action;
    pos = url.search(/cmdProc=/i);
    if( pos == -1 ){
      hw.action = hw.action + "&cmdProc=" + mode;
    } else {
      pos2 = url.indexOf( "&", pos );
      if( pos2 == -1 ){
        hw.action = url.substring(0, pos) + "cmdProc=" + mode;
      } else {
        hw.action = url.substring(0, pos) + "cmdProc=" + mode + url.substring(pos2);
      }
    }
    submitctl = true;
    hw.action = sequpdate( hw.action );
    hw.submit();
    return(true);
  } else {
    return(false);
  }
}

//-------------------------------------------------------------------------------
//  関数名      ：btnClick(hw, mode)
//  概要        ：ボタンクリック時にサブミット
//  引数        ：hw  : 呼び元のウィンドウ
//                mode: モード
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function btnClick(hw, mode)
{
  var pos;
  var pos2;
  var url;
  url = hw.action;
  pos = url.search(/cmdProc=/i);
//2008.03 直リンク時のソート対策
//  path = self.location.pathname;
  path = window.document.URL;
  if (( path.match(/MF0031C/i)) && os && ie && (mode == 'ADD')) {
    winCls = window.open('MF0031S.asp','clscd_search')
    winCls.close();
  }

  if( pos == -1 ){
    hw.action = hw.action + "&cmdProc=" + mode;
  } else {
    pos2 = url.indexOf( "&", pos );
    if( pos2 == -1 ){
      hw.action = url.substring(0, pos) + "cmdProc=" + mode;
    } else {
      hw.action = url.substring(0, pos) + "cmdProc=" + mode + url.substring(pos2);
    }
  }
  submitctl = true;
  hw.action = sequpdate( hw.action );
  hw.submit();
  return(false);
}

//-------------------------------------------------------------------------------
//  関数名      ：btnClick2(hw, mode)
//  概要        ：ボタンクリック時にサブミット
//  引数        ：hw  : 呼び元のウィンドウ
//                mode: モード
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function btnClick2(hw, mode)
{
  hw.cmdProc.value = mode;
  hw.submit();
  return(false);
}

//-------------------------------------------------------------------------------
//  関数名      ：btnClick3(hw, kbn)
//  概要        ：一括削除ボタンクリック時にサブミット
//  引数        ：hw  : 呼び元のウィンドウ
//                kbn : 研究の分類名
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function btnClick3(hw, mode)
{
  if( confirm("削除欄にチェックを入れた" + mode + "情報を一括削除します。" +
              "\nよろしいですか？" +
              "\n\n（注）一旦削除すると元に戻せません") ){
    hw.cmdProc.value = 'DEL';
    hw.submit();
  }
  return(false);
}

//-------------------------------------------------------------------------------
//  関数名      ：rdoClick(hw, tagname, name)
//  概要        ：ラジオボタンクリック時の項目名をhiddenに貼る
//  引数        ：hw     : 呼び元のウィンドウ
//                tagname: タグ名
//                name   : 名称
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function rdoClick(hw, tagname, name)
{
  hw.elements[tagname+'_name'].value = name;
  return(true);
}

//-------------------------------------------------------------------------------
//  関数名      ：selChange(hw, tagname)
//  概要        ：ラジオボタンクリック時の項目名をhiddenに貼る
//  引数        ：hw  : 呼び元のウィンドウ
//                name:
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function selChange(hw, tagname)
{
  hw.elements[tagname+'_name'].value = hw.elements[tagname+'_temp'+hw.elements[tagname].selectedIndex].value;
  return(true);
}

//-------------------------------------------------------------------------------
//  関数名      ：openWindow(resid, seqno)
//  概要        ：基礎データマスタメンテ用の新たなウインドウを開く
//  引数        ：resid   : ユーザＩＤ
//                seqno   : シーケンス番号
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function openWindow(resid, seqno)
{
  winMnt = window.open('MS0051X.asp?MenuMode=2&toAsp=MA0011D.asp&mode=sub&MySessID='+resid+'&resid='+resid+'&seqno='+seqno,
          'win_maintenance',
          'resizable=yes,'
         +'scrollbars=yes,'
         +'width=780,'
         +'height=550,'
         +'menubar=yes,'
         +'status=yes,'
         +'toolbar=yes');
  winMnt.focus();
  return(false);
}

ie = (document.all)? true:false;
os = navigator.userAgent;
os = (os.match(/Windows/i))? true:false;

//-------------------------------------------------------------------------------
//  関数名      ：OpenClsCodeWin(resid, seqno)
//  概要        ：授業コード検索用の新たなウインドウを開く
//  引数        ：resid   : ユーザＩＤ
//                seqno   : シーケンス番号
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function OpenClsCodeWin(resid, seqno)
{
  path = self.location.pathname;
  if ( path.match(/MF0031L/i) || path.match(/MF0031D/i) ) {
    //if (( path.match(/MF0031L/i) && os && ie ) || path.match(/MF0031D/i) ) {
    //if ( path.match(/MF0031L/i) && os && ie ) {
    //  winCls = window.open('blank.html','clscd_search','width=5,height=5');
    //  winCls.close();
    //}
    winWidth = window.screen.availWidth-400;
    winCls   = window.open('MF0031S.asp?seqno='+seqno+'&MySessID='+resid,
              'clscd_search',
              'resizable=no,'
             +'scrollbars=yes,'
             +'width=400,'
             +'height=520,'
             +'left='+winWidth+','
             +'top=0,'
             +'menubar=no,'
             +'status=yes,'
             +'toolbar=no');
    winCls.focus();
  }
  //if ( path.match(/MF0031L/i)) {
  //  self.location.href = 'MF0031D.asp?seqno='+seqno+'&MySessID='+resid;
  //}
  return(true);
}
//-------------------------------------------------------------------------------
//  関数名      ：CloseClsCodeWin()
//  概要        ：授業コード検索用ウインドウを閉じる
//  引数        ：無し
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function CloseClsCodeWin()
{
  if (typeof(winCls) == 'object'){
    winCls.close();
  }
}

//-------------------------------------------------------------------------------
//  関数名      ：SetDataOld(cls_cd, from_year, now_year)
//  概要        ：授業コード、開始年度、開講年度を親ウィンドウにセットする（現在未使用）
//  引数        ：cls_cd      : 授業コード
//                from_year   : 開始年度
//                cls_nm      : 授業科目名
//                now_year    : 開講年度
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function SetDataOld(cls_cd, from_year, cls_nm, now_year)
{
  date = new Date();
  year = date.getFullYear();
  path = opener.location.pathname;
  opener.focus();
  if ( path.match(/MF0031D/i)) {
    opener.document.CHG_CLS.CLS_CD.value = cls_cd;
    if ( from_year >= year ) {
      opener.document.CHG_CLS.FROM_YEAR_Y.selectedIndex = from_year - (year - 102);
    } else {
      opener.document.CHG_CLS.FROM_YEAR_Y.selectedIndex = from_year - (year - 101);
    }
    opener.document.CHG_CLS.CLS_NM.value = cls_nm;
    if ( now_year >= year ) {
      opener.document.CHG_CLS.NOW_YEAR_Y.selectedIndex = now_year - (year - 102);
    } else {
      opener.document.CHG_CLS.NOW_YEAR_Y.selectedIndex = now_year - (year - 101);
    }    if ( !(ie) || !(os)){
      window.close();
    }
  }
  return(false);
}
//-------------------------------------------------------------------------------
//  関数名      ：SetData(cls_cd, from_year, cls_nm) 2002.11対応版
//  概要        ：授業コード、開始年度、開講年度を親ウィンドウにセットする
//  引数        ：cls_cd      : 授業コード
//                from_year   : 開始年度
//                cls_nm      : 授業科目名
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function SetData(cls_cd, from_year, cls_nm)
{
  date = new Date();
  path = opener.location.pathname;
  opener.focus();
  if ( path.match(/MF0031D/i)) {
    opener.document.CHG_CLS.CLS_CD.value = cls_cd;
    opener.document.CHG_CLS.CLS_SJT_NM.value = cls_nm;
    opener.document.CHG_CLS.FROM_YEAR_Y.value = from_year;
    //if ( !(ie) || !(os) ){
      window.close();
    //}
  }
  return(false);
}
//-------------------------------------------------------------------------------
//  関数名      ：reDisplay(hw, orderMode)
//  概要        ：教員検索（共著者用）画面の一覧表示順をhiddenに設定し、submitする
//  引数        ：hw        : ウインドウ
//                orderMode : ソート対象項目識別番号
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function reDisplay(hw, orderMode)
{
  hw.hidOrder.value = orderMode;
  hw.submit();
  return(false);
}

//-------------------------------------------------------------------------------
//  関数名      ：formCall(hw, url)
//  概要        ：指定したASPへsubmitする
//  引数        ：hw        : ウインドウ
//                url       : 呼び出すurl
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function formCall(hw, url)
{
  hw.action=url;
  hw.submit();
}
//-------------------------------------------------------------------------------
//  関数名      ：selDefaultGakka(hw, depTagname, clgTagname)
//  概要        ：部局選択プルダウンの値により学科専攻プルダウンの選択状態を設定する
//  引数        ：hw          : ウインドウ
//                depTagname  : 部局選択プルダウンのタグ名称
//                clgTagname  : 学科選択プルダウンのタグ名称
//  戻り値      ：無し
//-------------------------------------------------------------------------------

function selDefaultGakka(hw, depTagname, clgTagname)
{
  selBukyoku = hw.elements[depTagname].value;
  for(i=0; i<hw.elements[clgTagname].length; i++){
    if(hw.elements[clgTagname].options[i].value == selBukyoku){
      hw.elements[clgTagname].options[i].selected = true;
      break;
    }
  }
}
//-------------------------------------------------------------------------------
//  関数名      ：selDefaultBukyoku(hw, clgTagname, depTagname)
//  概要        ：学科専攻選択プルダウンの値により部局プルダウンの選択状態を設定する
//  引数        ：hw          : ウインドウ
//                clgTagname  : 学科選択プルダウンのタグ名称
//                depTagname  : 部局選択プルダウンのタグ名称
//  戻り値      ：無し
//  2004/05/07  部局の表示を"研究科・学部"に変更したことに伴う表示方法の変更
//-------------------------------------------------------------------------------

function selDefaultBukyoku(hw, clsTagname, depTagname)
{
  selGakka = hw.elements[clsTagname].value;
  switch (selGakka) {
    case "001000100000":
      selGakka = "0210";
      break;
    case "001000100060":
      selGakka = "0210";
      break;
    case "002000200000":
      selGakka = "0220";
      break;
    case "002000200010":
      selGakka = "0220";
      break;
    case "003000300000":
      selGakka = "0230";
      break;
    case "003000300010":
      selGakka = "0230";
      break;
    case "004000400000":
      selGakka = "0240";
      break;
    case "004000400030":
      selGakka = "0240";
      break;
    case "005000500000":
      selGakka = "0250";
      break;
    case "005000500040":
      selGakka = "0250";
      break;
    case "005000500050":
      selGakka = "0250";
      break;
    case "005000500060":
      selGakka = "0250";
      break;
    case "005000500070":
      selGakka = "0250";
      break;
    case "006000600000":
      selGakka = "0260";
      break;
    case "006000600010":
      selGakka = "0260";
      break;
    case "006000600020":
      selGakka = "0260";
      break;
    case "006000600050":
      selGakka = "0260";
      break;
    case "006000600090":
      selGakka = "0260";
      break;
    case "007000700000":
      selGakka = "0270";
      break;
    case "007000700010":
      selGakka = "0270";
      break;
    case "007000700020":
      selGakka = "0270";
      break;
    case "007000700030":
      selGakka = "0270";
      break;
    case "008000800000":
      selGakka = "0280";
      break;
    case "008000800030":
      selGakka = "0280";
      break;
    case "009000900000":
      selGakka = "0290";
      break;
    case "009000900230":
      selGakka = "0290";
      break;
    case "009000900240":
      selGakka = "0290";
      break;
    case "009000900260":
      selGakka = "0290";
      break;
    case "009000900270":
      selGakka = "0290";
      break;
    case "010001000000":
      selGakka = "0300";
      break;
    case "010001000040":
      selGakka = "0300";
      break;
    case "010001000050":
      selGakka = "0300";
      break;
    case "010001000110":
      selGakka = "0300";
      break;
    case "010001000120":
      selGakka = "0300";
      break;
    default:
      selGakka = selGakka.substring(0,4);
      break;
  }
  for(i=0; i<hw.elements[depTagname].length; i++){
    if(hw.elements[depTagname].options[i].value == selGakka){
      hw.elements[depTagname].options[i].selected = true;
      break;
    }
  }
}

//-------------------------------------------------------------------------------
//  関数名      ：openKWin(hw, url)
//  概要        ：指定したASPへsubmitする
//  引数        ：hw        : ウインドウ
//                url       : 呼び出すurl
//  戻り値      ：無し
//-------------------------------------------------------------------------------
function openKWin(kid, addhref)
{
  window.open('MH0000F.asp?kid='+kid+'&'+addhref,'win_kinfo', 'resizable=yes,scrollbars=yes,width =600,height=600,menubar=no,toolbar=no');
}


//---------------------------------------------------------------
//  関数名：jTrim( str )
//  機能  ：指定文字列の前後の空白を取り除きます。
//
//  引数    str      : 文字列
//  戻り値  ret      : 空白を取り除いた文字列
//---------------------------------------------------------------
function jTrim( str )
{
   var i, j;
   var sppos, spflg;
   var toppos;

   toppos = 0;
   for ( i = 0; i < str.length; i++ )
   {
      st = str.substr( i, 1 );
      if (( st != ' ' ) && ( st != '　' ))
      {
         toppos = i;
          break;
      }
   }
   spflg = 0;
   for( j = i; j < str.length; j++ )
   {
      st = str.substr( j, 1 );
      if( st == ' ' && spflg == 0 )
      {
         sppos = j;
         spflg = 1;
      }else{
         sppos = j + 1;
         spflg = 0;
      }
   }
   ret = '';
   if ( toppos < sppos ) ret = str.substring(toppos, sppos);

   return ( ret );
}



//-->
