//
//

// 2004/02/19 Copy from panel.js & rename to initPage_keyword() then modify some. S.Kubo
// Function:    initPage_keyword_trial()
// Parameters:  none
// Details:     Initialize this page when it is loaded.
var LANG_JA = "ja";
function initPage_keyword_trial()
{

    // set 'name="lp_keyword" id="selectLp_keyword"'using 'name="eid" id="inputeid_keyword"'
    document.getElementById('selectLp_keyword').value = g_rgLpEid[ document.getElementById('inputeid_keyword').value ];

    setupSrcLanguage_keyword();
    setupDstLanguage_keyword();

    setupKeywordsSearch();
    getTLanguage();

}

function getTLanguage(){
  var selectLpDst = document.getElementById('selectLp_dst_keyword');
  var dstValue = selectLpDst.options[selectLpDst.selectedIndex].value;
  document.formAction_keyword.keywordsL.value = rgLanguageTxtDst[dstValue];

}
var g_rgSelectedSearchEngine = new Array();

// ----------
// 2004/01/23 言語選択プルダウンメニュー用OnChange()関数
//            for SRC
function chkValueDuplication_s_keyword()
{
  // SRCの現在値を取得。
  var selectLpSrc = document.getElementById('selectLp_src_keyword');
  var srcValue = selectLpSrc.options[selectLpSrc.selectedIndex].value;

  // DSTのoptionメニューを選択されたSRCに対応させる。
  setupDstLanguage_keyword();

  // DSTの現在値を取得。
  var selectLpDst = document.getElementById('selectLp_dst_keyword');
  var dstValue = selectLpDst.options[selectLpDst.selectedIndex].value;

  // 言語ペアオブジェクト取得
  var selectLp_keyword = document.getElementById('selectLp_keyword');

  // DSTの値とSRCの値を結合し'<SRC>.<DST>'、言語ペアオブジェクトにセット。
  // その他必要な処理を行う。
  var newLpValue = srcValue + "." + dstValue;
  selectLp_keyword.value = newLpValue;

  // selectLp_keywordからEIDを取得、ctw_eidにセット。
  document.getElementById('inputeid_keyword').value = g_rgEidLp[ document.getElementById('selectLp_keyword').value ];

  // 検索エンジンをセットアップ
  setupKeywordsSearch();
  getTLanguage();

}

//            for DST
function chkValueDuplication_d_keyword()
{

  // SRCの現在値を取得。
  var selectLpSrc = document.getElementById('selectLp_src_keyword');
  var srcValue = selectLpSrc.options[selectLpSrc.selectedIndex].value;

  // DSTの現在値をチェック
  var selectLpDst = document.getElementById('selectLp_dst_keyword');
  var dstValue = selectLpDst.options[selectLpDst.selectedIndex].value;

  // 言語ペアオブジェクト取得
  var selectLp_keyword = document.getElementById('selectLp_keyword');

  // 言語コードペアを更新。

  // SRCの値とDSTの値を結合し'<DST>.<SRC>'、言語ペアオブジェクトにセット。
  // その他必要な処理を行う。
  var newLpValue = srcValue + "." + dstValue;
  selectLp_keyword.value = newLpValue;

  // selectLp_keywordからEIDを取得、ctw_eidにセット。
  document.getElementById('inputeid_keyword').value = g_rgEidLp[ document.getElementById('selectLp_keyword').value ];

  // 検索エンジンをセットアップ
  setupKeywordsSearch();
  getTLanguage();
}

// Function:    setupSrcLanguage()
// Parameters:  none
// Details:     Fills out the source language combo box with the source 
//              languages appropriate for this function.
function setupSrcLanguage_keyword()
{
  // 言語ペアオブジェクト取得
  var strLangPair = document.getElementById('selectLp_keyword').value;
  // 現在の設定値を取得
  var rgLangPair = strLangPair.split('.');
  var curSrcLang = rgLangPair[0];

  // remove all existing languages from the selection
  var srcLanguage = document.getElementById('selectLp_src_keyword');

  // delete all of the source language options
  for ( var i = srcLanguage.length - 1; i >= 0; --i )
  {
    srcLanguage.options[i] = null;
  }

  // populate the source language selection with the correct languages for this function
  var bSelectedItem = false;
  var n = 0;
  for( i in rgHtmlLanguageCode ){

    srcLanguage.options[n] = new Option( rgLanguageTxtSrc[i], i );
    if ( curSrcLang == rgHtmlLanguageCode[i] )
    {
     // bSelectedItem = true;
     // srcLanguage.options[n].selected = true;
    }
    n++;

  }

  if ( !bSelectedItem )
  {
    if( srcLanguage.options.length > 0 ){
      srcLanguage.options[0].selected = true;
    }
  }

}

// Function:    setupDstLanguage_keyword()
// Parameters:  none
// Details:     Fills out the target language combo box with the target 
//              languages appropriate for this function.
function setupDstLanguage_keyword()
{
  // 言語ペアオブジェクト取得
  var strLangPair = document.getElementById('selectLp_keyword').value;
  // 現在の設定値を取得
  var rgLangPair = strLangPair.split('.');
  var curDstLang = rgLangPair[1];

  // remove all existing languages from the selection
  var srcLanguage = document.getElementById('selectLp_src_keyword');

  // get the selected source language
  if( srcLanguage.selectedIndex >= 0 ){
    var curSrcLang = srcLanguage.options[srcLanguage.selectedIndex].value;
  }

  // remove all existing languages from the selection
  var dstLanguage = document.getElementById('selectLp_dst_keyword');

  // delete all of the target language options
  for ( var i = dstLanguage.length - 1; i >= 0; --i )
  {
    dstLanguage.options[i] = null;
  }

  // populate the target language selection with the correct languages for this function
  var bSelectedItem = false;
  var n = 0;
  for( i in rgHtmlLanguageCode[curSrcLang] ){

    if( curSrcLang == rgHtmlLanguageCode[curSrcLang][i] ){
      continue;
    }
   if(rgHtmlLanguageCode[curSrcLang][i] == LANG_JA){
     dstLanguage.options[n] = new Option( rgLanguageTxtKs[curSrcLang], rgHtmlLanguageCode[curSrcLang][i] );
   } else {
   dstLanguage.options[n] = new Option( rgLanguageTxtDst[(rgHtmlLanguageCode[curSrcLang][i])], rgHtmlLanguageCode[curSrcLang][i] );
   }
    if ( curDstLang == rgHtmlLanguageCode[curSrcLang][i] )
    {
      bSelectedItem = true;
      dstLanguage.options[n].selected = true;
    }
    n++;

  }

  if ( !bSelectedItem )
  {
    if( dstLanguage.options.length > 0 ){
      dstLanguage.options[0].selected = true;
    }
  }

}

//////////////////////////////////////////////////////////////
// code for setting format, dictionary, color.

// Function:    submitForm()
// Parameters:  none
// Details:     Submits the form.

//     Window Open JavaScript 対応
//     現時点ではWindowNameを固定とするがConfigFile化が必須。
var w_url       = null;

function submitForm()
{
  var tgtWinName;
  var oForm;

  if( w_url == null ){
    w_url = window.open("", "bb_url", "directories=no,location=no,menubar=no,"
                                      +"resizable=yes,scrollbars=yes,status=no,toolbar=yes");
  }else{
    if( w_url.closed ){
    w_url = window.open("", "bb_url", "directories=no,location=no,menubar=no,"
                                      +"resizable=yes,scrollbars=yes,status=no,toolbar=yes");
    }else{
      w_url.name = "bb_url";
    }
    tgtWinName = "bb_url";
  }
  // 一番手前にウインドウを表示
  w_url.focus();

  // set Form property
  oForm = document.getElementById('formAction_keyword');
  oForm.target = "bb_url";

  // submit()の為に強制的に文字コードを変更
  document.charset='UTF-8'; 

  // submit the form
  oForm.submit();
}

// Function:    setupKeywordsSearch()
// Parameters:  none
// Details:     Fills out the keyword search combo box with the search 
//              engines appropriate for the currently selected EID.
function setupKeywordsSearch()
{
  // determine the current EID
  var selectEid = document.getElementById('inputeid_keyword');
  var strEid = '';
  var strSourceLang = '';
  var strDestLang = '';
  var bSearchValid = false;

  if ( typeof g_rgEngines != 'undefined' && selectEid.value != 'undefined' )
  {
    strEid = selectEid.value;
    strSourceLang = g_rgEngines[strEid][0];
    strDestLang   = g_rgEngines[strEid][1];
    bSearchValid  = g_rgEngines[strEid][2];
  }
  

  // get our search engine honoring the search engine exclusion list
  var rgEngines = null;
  if ( bSearchValid )
  { 
    rgEngines = g_rgSearchEngines[strSourceLang];
  }

  // remove all existing engines from the selection
  var selectEngine = document.getElementById('selectEngine');
  for ( var i = selectEngine.length - 1; i >= 0; --i )
  {
    selectEngine.options[i] = null;
  }

  if ( !rgEngines )
  {
    // if we can't do keyword search for this EID, then disable it
    document.getElementById('inputKeywords').disabled = true;
    document.getElementById('iSubmitKeywords').setAttribute('class','disabled');
    selectEngine.disabled = true;
  }
  else
  {
    // if we can do keyword search for this EID then enable it
    document.getElementById('inputKeywords').disabled = false;
    document.getElementById('inputKeywords').setAttribute('lang',     strDestLang);
    document.getElementById('inputKeywords').setAttribute('xml:lang', strDestLang);
    document.getElementById('iSubmitKeywords').setAttribute('class','');
    document.getElementById('selectEngine').disabled = false;

    // get the selected engine
    var strSelectedEngine = '';
    if ( typeof(g_rgSelectedSearchEngine[strSourceLang]) != "undefined" )
    {
      strSelectedEngine = g_rgSelectedSearchEngine[strSourceLang];
    }
    
    // populate the search engine selection with the correct engines for this EID
    var bSelectedItem = false;
    for ( i = 0; i < rgEngines.length; ++i )
    {
      selectEngine.options[i] = new Option( rgEngines[i], rgEngines[i] );
      if ( strSelectedEngine == rgEngines[i] )
      {
        bSelectedItem = true;
        selectEngine.options[i].selected = true;
      }
    }
    if ( !bSelectedItem )
    {
      selectEngine.options[0].selected = true;
    }
  } 
}

// Function:    onSelectSearchEngine()
// Parameters:  none
// Details:     Remember the selected search engine for the selected
//              engine where possible
function onSelectSearchEngine()
{
  // get the selected engine
  var selectEngine = document.getElementById('selectEngine');
  if ( selectEngine.options.selectedIndex >= 0 )
  {
    var strSelectedEngine = selectEngine.options[selectEngine.options.selectedIndex].value;
    
    // find the source language
    var selectEid = document.getElementById('inputeid_keyword');
    var strEid = selectEid.value;
    var strSourceLang = g_rgEngines[strEid][0];

    // remember this selection
    g_rgSelectedSearchEngine[strSourceLang] = strSelectedEngine;
  }

}


// --- EOF.

