<!--
/**
 * (C) 2003 System Integrator Corporation .
 *            All rights reserved.
 *   FileName   : SICommon.js
 *   Author     : Jinwang Chen<jwchen@sint.co.jp>
 *   Date       : 2003.08.11
 *   Description:共通アプリケーションの関数の定義
 *
 *   History
 *   Author         Date          Reason
 *   Jinwang Chen   2003.08.11    Original
 */

//並び順の表示の画像ファイル
manOrderImgFile = new Array();
manOrderImgAlt  = new Array();
manOrderImgFile[0]="../../image/button_Search_Order_Asc.png";
manOrderImgFile[1]="../../image/button_Search_Order_Desc.png";
manOrderImgAlt[0]="昇順ソート";
manOrderImgAlt[1]="降順ソート";

/**
 * Function      :sendSubmit
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.08.11
 * Description   :submitを送信します。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 */
function sendSubmit(){
   document.forms[0].submit();
   return true;
}
function changeFormAction(act){
   document.forms[0].action=act;
   document.forms[0].submit();
   return true;
}

/**
 * Function      :sendUrlAction
 * Author        :asakura
 * Date          :2004.01.09
 * Description   :あるアクションを送信します。
 *                actionNameTxtという項目が各画面に共通されて設定することは、
 *                前提としてこの関数を使えます。。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 *val                          I     アクション
 */
function sendUrlAction(url,act){
  with (document.forms[0]){
	action=url;
    actionNameTxt.value=act;
    submit();
  }
  return true;
}

/**
 * Function      :sendUrlAction
 * Author        :asakura
 * Date          :2004.01.09
 * Description   :あるアクションを送信します。
 *                actionNameTxtという項目が各画面に共通されて設定することは、
 *                前提としてこの関数を使えます。。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 *val                          I     アクション
 */
function sendUrlActionByData1(url,act,itemName1,itemData1){
  with (document.forms[0]){
	action=url;
  }
  return sendActionByData1(act,itemName1,itemData1);
}

/**
 * Function      :sendUrlAction
 * Author        :asakura
 * Date          :2004.01.09
 * Description   :あるアクションを送信します。
 *                actionNameTxtという項目が各画面に共通されて設定することは、
 *                前提としてこの関数を使えます。。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 *val                          I     アクション
 */
function sendUrlActionByData2(url,act,itemName1,itemData1,itemName2,itemData2){
  with (document.forms[0]){
	action=url;
  }
  return sendActionByData2(act,itemName1,itemData1,itemName2,itemData2);
}

/**
 * Function      :sendUrlAction
 * Author        :asakura
 * Date          :2004.01.09
 * Description   :あるアクションを送信します。
 *                actionNameTxtという項目が各画面に共通されて設定することは、
 *                前提としてこの関数を使えます。。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 *val                          I     アクション
 */
function sendUrlActionByData3(url,act,itemName1,itemData1,itemName2,itemData2,itemName3,itemData3){
  with (document.forms[0]){
	action=url;
  }
  return sendActionByData3(act,itemName1,itemData1,itemName2,itemData2,itemName3,itemData3);
}

/**
 * Function      :sendAction
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.08.11
 * Description   :あるアクションを送信します。
 *                actionNameTxtという項目が各画面に共通されて設定することは、
 *                前提としてこの関数を使えます。。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 *val                          I     アクション
 */
function sendAction(act){
  return sendActionByData1(act,null,null);
}

/**
 * Function      :sendActionByData1
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.10.27
 * Description   :一つのデータを設定してあるアクションを送信します。
 *                actionNameTxtという項目が各画面に共通されて設定することは、
 *                前提としてこの関数を使えます。。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 *act                          I     アクション
 *itemName1                    I     設定する項目名
 *itemData1                    I     上記の項目名に対する設定するデータ
 */
function sendActionByData1(act,itemName1,itemData1){
  return sendActionByData3(act,itemName1,itemData1,null,null,null,null)
}

/**
 * Function      :sendActionByData1
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.10.27
 * Description   :二つのデータを設定してあるアクションを送信します。
 *                actionNameTxtという項目が各画面に共通されて設定することは、
 *                前提としてこの関数を使えます。。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 *act                          I     アクション
 *itemName1                    I     設定する項目名
 *itemData1                    I     上記の項目名に対する設定するデータ
 */
function sendActionByData2(act,itemName1,itemData1,itemName2,itemData2){
  return sendActionByData3(act,itemName1,itemData1,itemName2,itemData2,null,null)
}

/**
 * Function      :sendActionByData3
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.10.27
 * Description   :三つのデータを設定してあるアクションを送信します。
 *                actionNameTxtという項目が各画面に共通されて設定することは、
 *                前提としてこの関数を使えます。。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 *act                          I     アクション
 *itemName1                    I     設定する項目名
 *itemData1                    I     上記の項目名に対する設定するデータ
 */
function sendActionByData3(act,itemName1,itemData1,itemName2,itemData2,itemName3,itemData3){
  if (act=='delete'&& !confirm('削除しますか?')) return; //7.1.1 ST1090 修正
  if (act=='mail'&& !confirm('メールを送信しますか?')) return; //7.1.1 ST1090 修正
  with (document.forms[0]){
    if (itemName1!=null) eval("document.forms[0]."+itemName1+".value='"+itemData1+"'");
    if (itemName2!=null) eval("document.forms[0]."+itemName2+".value='"+itemData2+"'");
    if (itemName3!=null) eval("document.forms[0]."+itemName3+".value='"+itemData3+"'");
    actionNameTxt.value=act;
    submit();
  }
  return true;
}
/**
 * Function      :sendData
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.10.27
 * Description   :データを設定してあるアクションを送信します。
 *                actionNameTxtという項目が各画面に共通されて設定することは、
 *                前提としてこの関数を使えます。。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 *val                          I     アクション
 */
function sendData(itemName,itemData){
  with (document.forms[0]){
    eval("document.forms[0]."+itemName+".value='"+itemData+"'");
    actionNameTxt.value="";
    submit();
  }
  return true;
}

/**
 * Function      :changeOrder
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.08.11
 * Description   :並び順のクリックに伴って、画像ファイルと並び順コードを変更します。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 */
function changeOrder(orderName){
   var val=parseInt(eval("document.forms[0]."+orderName+"Txt"+".value"));

   if (isNaN(val)) val=0;
   else val=((val+1) % 2);

   eval("document.forms[0]."+orderName+"Txt"+".value="+val);
   eval("document.forms[0]."+orderName+".src=manOrderImgFile["+val+"]");
   eval("document.forms[0]."+orderName+".alt=manOrderImgAlt["+val+"]");
}

/**
 * Function      :checkAll
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.09.18
 * Description   :チェックボックスをチェックします。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 */
function checkAll(checkedName){
  return actionAll(checkedName,true);
}

/**
 * Function      :clearAll
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.09.18
 * Description   :チェックボックスをクリアします。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 */
function clearAll(checkedName){
  return actionAll(checkedName,false);
}

/**
 * Function      :actionAll
 * Author        :Jinwang Chen<jwchen@sint.co.jp>
 * Date          :2003.09.18
 * Description   :チェックボックスのクリアとチェックをアクションします。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 */
function actionAll(checkedName,val){
  var fieldNum=document.forms[0].length;
  var fieldName="";
    
  for (ii=0;ii<fieldNum;ii++){
    fieldName=document.forms[0].elements[ii].name;
    if (fieldName.indexOf(checkedName)==0){
      document.forms[0].elements[ii].checked=val;
    }
  }
  //7.1.1 ST1090 return削除
}

function reset(){
  document.forms[0].reset();
}
function addCart(lShopCode,lCmdtyCode,lStndrdCode1,lElementCode1,lStndrdCode2,lElementCode2){
  with(document.forms[0]){
    cartShopCodeTxt.value=lShopCode;
    cartCmdtyCodeTxt.value=lCmdtyCode;
    cartStndrdCodeTxt1.value=lStndrdCode1;
    cartStndrdCodeTxt2.value=lStndrdCode2;
    cartElementCodeTxt1.value=lElementCode1;
    cartElementCodeTxt2.value=lElementCode2;
    actionNameTxt.value='crt';
    submit();
    return false;
  }
}
function addCart2(lShopCode,lCmdtyCode,lStndrdCode1){
  return addCart(lShopCode,lCmdtyCode,'','','','');
}

/**
 * Function      :focusElement
 * Author        :yamauchi
 * Date          :2004.02.09
 * Description   :最初のエレメント(テキストかラジオ）にフォーカスをあてます。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 */

function focusElement(){
  var a="";
  if(document[0].elements==null) return;
  
  for(i=0;i<document[0].elements.length;i++){
    a=document[0].elements[i].type;

    if(a=='text'||a=='radio'||a=='checkbox'||a=='textarea'||a=='file'){
      document.forms[0].elements[i].focus();
      return ;
    }
    
  }
}

function frontFocus(){
  var a="";
  var b="";
  
  for(i=0;i<document[0].elements.length;i++){
    a=document[0].elements[i].type;
    
    if(a=='text'||a=='radio'){
      if(document[0].elements[i]==document[0].srchWordTxt){
        for(j=i+1;j<document[0].elements.length;j++){
          b=document[0].elements[j].type;
          if(b=='text'){
            document.forms[0].elements[j].focus();
            return;
          }
        }
        document.forms[0].srchWordTxt.focus();
        return;
      }else{
        document.forms[0].srchWordTxt.focus();
        return;
      }
    }
  }
}  

function sendSrchAction(lUrl,lAction){
  with (document.forms[0]){
    if (Trim(srchWordTxt.value) =='' ) {
      return;
    } else {
      actionNameTxt.value=lAction;
      action=lUrl;
      submit();
    }
  }
}

function Trim(strVal)
{
  var strRet='';
  var strFinal='';
  //LTRIM
  strRet = LTrim(strVal);
  //RTRIM
  strFinal = RTrim(strRet);
  return strFinal;
}
function RTrim(strTemp)
{
  var nLoop = 0;
  var strReturn = strTemp;
  while (nLoop < strTemp.length)
  {
    if ((strReturn.substring(strReturn.length - 1, strReturn.length) == " ") || (strReturn.substring(strReturn.length - 1, strReturn.length) == "　"))
    {
      strReturn = strTemp.substring(0, strTemp.length - (nLoop + 1));
    }
    else
    {
      break;
    }
    nLoop++;
  }
  return strReturn;
}
function LTrim(strTemp)
{
  var nLoop = 0;
  var strReturn = strTemp;
  while (nLoop < strTemp.length)
  {
    if ((strReturn.substring(0, 1) == " ") || (strReturn.substring(0, 1) == "　"))
    {
      strReturn = strTemp.substring(nLoop + 1, strTemp.length);
    }
    else
    {
      break;
    }
    nLoop++;
  }
  return strReturn;
}

-->