/*
################################################################################
# menu_toggle.js  構成組折りたたみモジュール
# -----------------------------------------------------------------------------#
# タグ使用例
# -----------------------------------------------------------------------------#
#
#
#
#
#
#
#
#------------------------------------------------------------------------------#
# created  in 2008/09/08 T.Honda
# modified in 2008/09/30 T.Iwahori
# modified in 2008/10/29 Y.Koga
#
################################################################################
*/

    // アイコンの定義
    ary_imgs_s = new Array(
      '/Cart/Images/State_cart/bt_hide_detail.gif',    // 開いている状態のアイコン
      '/Cart/Images/State_cart/bt_show_detail.gif'     // 閉じている状態のアイコン
    );
    ary_alts_s = new Array(
      '詳細を隠す',    // 開いている状態のアイコン
      '詳細を見る'     // 閉じている状態のアイコン
    );

    // display スタイルの定義
    ary_displays = new Array(
      'block',                     // 閉じている状態の display スタイル
      'none'                       // 開いている状態の display スタイル
    );

    ary_visibilities = new Array(
      'visible',                   // 開いている状態の visibility スタイル
      'hidden'                     // 閉じている状態の visibility スタイル
    );

    var bln_cookie         = navigator.cookieEnabled;
    var str_shoperr_flg;
    var str_cookie_err_msg = 'クッキー設定が無効になっているため、' +
                             '商品が購入ができません。<br />' +
                             'ブラウザの設定を変更してクッキーを' +
                             '利用できるようにしてください。';
    var str_shop_err_msg   = 'お客様のカートの状態ではお選びいただいた' +
                             '商品を加えることができません。<br />' +
                             '現在のカートにてレジに進んでいただくか、' +
                             '削除いただいた上で再度ご購入ください。';
    var str_cart_err_msg   = '選択いただきました商品は' +
                             '現在ご購入いただけません。';
    var cartExtened = '1';
        ssonload_add('initStationedCart();');


        function initStationedCart(){

        var obj_lbl_cookieerr  = document.getElementById('lbl_cookie_err');
        var obj_lbl_shoperr    = document.getElementById('lbl_shop_err');
        var obj_err_area       = document.getElementById('grp_scart_err');

        if (! bln_cookie && !!obj_lbl_cookieerr) {
            // Cookieが使用できないときの処理
            obj_lbl_cookieerr.innerHTML = str_cookie_err_msg;

        } else if (str_shoperr_flg == '1' && !!obj_lbl_shoperr) {
            // Shopコードエラーフラグが存在しているとき
            obj_lbl_shoperr.innerHTML = str_shop_err_msg;
        } else if (str_shoperr_flg == '2' && !!obj_lbl_shoperr) {
            // カート投入時にエラーが生じた場合
            obj_lbl_shoperr.innerHTML = str_cart_err_msg;
      } else{
            // エラーが存在しない場合
            // エラー領域を隠す
            obj_err_area.style.display = 'none';
        }
      initToggleSrc();
        if(isInitToggle()){
                cart_toggle(document.getElementById("pButton"));
            }
        }

    function send_regi() {
        document.regi_form.submit();
    }

        /* Detail Cart error 枠を消す関数 */
        function hideErrorDiv(){
            var objErr = document.getElementById("grp_scart_err");

            if (!objErr) {
                return false;
            }
            //エラーテキストの有無を判別
            if (typeof document.body.style.maxHeight != "undefined") {// 要削除コメント このIF文がないとIEでスクリプトエラーため追記 start
            // IE 7, mozilla, safari, opera 9
                if(objErr.childNodes[1]){
                    //alert(objErr.childNodes[1]);
                    var txtErr = objErr.childNodes[1].hasChildNodes();
                }
            } else {
            // IE6, older browsers
                if(objErr.childNodes[0]){
                //alert(objErr.childNodes[0]);
                var txtErr = objErr.childNodes[0].hasChildNodes();
                }
            } // 要削除コメント このIF文がないとIEでスクリプトエラーため追記 end
            if (!txtErr) {
                objErr.style.display = "none";
            }

        }
/*
##################################################################
# 関数名：cart_toggle
##################################################################
# 構文    cart_toggle (obj)
# 引数    obj: 「詳細を見る」アイコンが表示されているオブジェクト
# 戻り値  false : 正常
# 概要    常駐カート展開状態の状態を逆転する関数
##################################################################
*/
function cart_toggle(button){

    // DOM チェック
    if ( !document.hasChildNodes) {
        return;
    }

    var targetID     = "ITEM-LIST";
    var targetID_reg = "B_REGI";
    var targetBLOCK  = "BLOCK";
    //var targetSUM    = "SUM";
    //var targetINFO   = "INFO";

    var objCART = document.getElementById(targetID);
    var objREGI = document.getElementById(targetID_reg);
    var objBLOCK = document.getElementById(targetBLOCK);
    //var objSUM  = document.getElementById(targetSUM);
    //var objINFO = document.getElementById(targetINFO);

    // アイコン変更のための変数宣言
    var obj_node  = null;

    // フォルダの開閉状態の取得
//    var int_state = objCART.folder_state ? 1 : 0;
    var int_state = objCART.folder_state ? 1 : 0;

    //処理後のフォルダの開閉状態
    var int_new_state = int_state ? 0 : 1;


        if(button){
        button.src = ary_imgs_s[int_new_state];
        button.alt = ary_alts_s[int_new_state];
        }


    // メニュー表示の変更
    // 親親親ノード(table)を参照して、子ノードが存在するかチェックする

    if (objCART && objCART.hasChildNodes()) {
      // 親ノード(div)を参照し、子ノードの一覧を取得

      chgDisplayStat(objCART,     int_new_state);
      chgDisplayStat(objREGI,     int_new_state);
      chgDisplayStat(objBLOCK,    int_new_state);
      //chgDisplayStat(objSUM,      int_new_state);
      //chgDisplayStat(objINFO,     int_new_state);

      // フォルダの開閉状態を記録する
      objCART.folder_state = int_new_state;
    }
    return false;
}

/*
##################################################################
# 関数名：chgDisplayStat
##################################################################
# 構文    chgDisplayStat (obj, newstat)
# 引数    obj: 表示状態を反転する目的のオブジェクト
#         newstat: 新しい展開状態を表すフラグ
# 戻り値  なし
# 概要    指定オブジェクトの表示状態を逆転する関数
##################################################################
*/
function chgDisplayStat(obj, newstat){

  if(obj){
//    alert(obj+" / "+ ary_displays[newstat]);
    obj.style.display    = ary_displays[newstat];
    obj.style.visibility = ary_visibilities[newstat];
  }

}

/*
##################################################################
# 関数名：edComma_cart
##################################################################
# 構文    edComma_cart (val)
# 引数    val: 3桁表示する数値
# 戻り値  なし
# 概要    数値に3桁ごとにカンマをつける
##################################################################
*/
function edComma_cart(val){
    var mny = ('' + val).replace(/[ ,]/g, "");
    var hrnum = Math.ceil(mny.length / 3);
    var amari = mny.length - ((Math.ceil(mny.length / 3) - 1) * 3);
    var hrmny = new Array(hrnum);
    var start = 0;
    for(var i = 0; i < hrnum ; i++){
        hrmny[i] = mny.substring(start, amari);
        start = amari;
        amari = amari + 3;
    }
    return hrmny.join(',');
}

/*
##################################################################
# 関数名：showPrice_cart
##################################################################
# 構文    showPrice_cart (val)
# 引数    val: 3桁表示する数値
# 戻り値  なし
# 概要    数値に3桁ごとにカンマをつけて表示する
##################################################################
*/
function showPrice_cart(val) {
    document.write('&yen;' + edComma_cart(val));
}

var arr=document.URL.split('/');

function isInitToggle(){

    if(cartExtened =='0'){
        return false;
  }else if(arr && arr.length > 4){
    if(!isQnaviToggle()){
        return false;
    }// ここに条件加えていく
  }
    return true;
}

function isQnaviToggle(){
  if(arr[3] =="Qnavi"){
    if(arr[4] =="Related"){
        return false;
    }else if(arr[4] =="Promote" && arr.length ==6 && arr[5] =="def_recommend.html"){
        return false;
    }
    var sArr = arr[4].split('?');
    if(sArr.length != 2){
        return true;
    }
    var tArr = sArr[1].split('&');
    for(i=0;i<tArr.length;i++){
        var uArr = tArr[i].split('=');
        if(uArr.length == 2 && uArr[0]=="Status" && uArr[1]=="Related"){
            return false;
        }
    }
  }
  return true;
}
function initToggleSrc(){
    var obj=document.getElementById("pButton");
    if(obj){
        obj.src='/Cart/Images/State_cart/bt_hide_detail.gif';
    }
}
