<!--
/**
 * (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 false;
    }
    if (act == 'mail' && !confirm('メールを送信しますか?')) {
        return false;
    }
    */
    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;
        }
    }
    //return false;
    // 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++) { /**←2004．10.18MOD**/
        a = document[0].elements[i].type;
        
        if (a == 'textarea' || 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' || b == 'textarea') { /**←2004．10.18MOD**/
                        document.forms[0].elements[j].focus();
                        return;
                    }
                }
                document.forms[0].srchWordTxt.focus();
                return;
            } else {
                document.forms[0].srchWordTxt.focus();
                return;
            }
        }
    }
}

/**
 * Function      :CategorySelectBoxEnable
 * Author        :Hideto Tajima<tajimahdt@pm.nttdata.co.jp>
 * Date          :2008.4.18
 * Description   :検索キーワード1〜3の活性・非活性の切替をします。
 * Name                       I/O    Comment
 * =========================  ===    =================================
 */
function CategorySelectBoxEnable(form, selection, ctgryCode) {
    // 選択されたindex
    var i = selection.selectedIndex;
    // 選択されたoption valueのテキスト
    var o = selection.options[i].value;
    
    // 検索キーワード1
    if (document.webshopFrm.srchKeyName1 != null) {
        // 自カテゴリのカテゴリコードが選択された場合のみ活性化
        if (ctgryCode == o) {
            document.webshopFrm.srchKeyName1.disabled = false;
        } else {
            document.webshopFrm.srchKeyName1.disabled = true;
        }
    }
    
    // 検索キーワード2
    if (document.webshopFrm.srchKeyName2 != null) {
        // 自カテゴリのカテゴリコードが選択された場合のみ活性化
        if (ctgryCode == o) {
            document.webshopFrm.srchKeyName2.disabled = false;
        } else {
            document.webshopFrm.srchKeyName2.disabled = true;
        }
    }
    
    // 検索キーワード3
    if (document.webshopFrm.srchKeyName3 != null) {
        // 自カテゴリのカテゴリコードが選択された場合のみ活性化
        if (ctgryCode == o) {
            document.webshopFrm.srchKeyName3.disabled = false;
        } else {
            document.webshopFrm.srchKeyName3.disabled = true;
        }
    }
}
-->