/****** 変数の定義 ******/
var bagitemcount  = 0;              // アイテム数
var bagitem       = new Array();    // 袋の中のアイテム

var bagimgcount_p = 11;             // バックの画像の数（親）
var bagimgcount_c = 5;              // バックの画像の数（子）
var bagimgcount_cl= 8;              // バックの画像の数（子のラスト）
var bagimg        = new Array();    // バックの画像データ





/* 袋画像を定義 */
var bagimg = new Array();
for (i=1; i<=bagimgcount_p; i++) {
    // 一桁なら前ゼロ
    if (i<10) {
        var ii = '0'+i;
    } else {
        var ii = i;
    }

    bagimg[i] = new Array();
    bagimg[i].img = new Array();

    // ラスト2つ前より、前（<bagimgcount_p - 1）
    if (i < (bagimgcount_p - 1)) {
        for (j=1; j<=bagimgcount_c; j++) {
            var jj = '0'+j;
            bagimg[i].img[j] = new Image();
            bagimg[i].img[j].src = 'shopping/shop/image/bag_'+ ii +'_' + jj + '.gif';
        }

    // ラスト2つ前
    } else {
        for (j=1; j<=bagimgcount_cl; j++) {
            // 一桁なら前ゼロ
            if (j<10) {
                var jj = '0'+j;
            } else {
                var jj = j;
            }
            bagimg[i].img[j] = new Image();
            bagimg[i].img[j].src = 'shopping/shop/image/bag_'+ ii +'_' + jj + '.gif';
        }
    }
}





/* 画像をアニメーションにする為の関数のセットをする処理 */
var change_bag = function(p, c, cmax)
{
    if (c <= cmax) {
        $("bag-img").src = bagimg[p].img[c].src;
        c = c + 1;
        var tim = setTimeout('change_bag(' + p + ', ' + c +', ' + cmax + ')', 100);
    }
}





/* ドラッグ＆ドロップ関連数 */
var posfix = function(draggable) {
    draggable.setStyle({ left: "0px", top: "0px" });
}





// ドロップ時に設定（袋に詰め込む時）
var optDropzone = {
    hoverclass: 'dragenter',
    onDrop: function(draggable, dropzone) {
        // 詰め込んだ回数カウント
        bagitemcount++;
        // バックのサイズ数以下だったら
        if (bagitemcount <= bagimgcount_p) {
            // ラスト2つ前（<bagimgcount_p - 1）
            if (bagitemcount < (bagimgcount_p-1)) {
                if (bagitemcount == 0) {
                    bagitemcount = 1;
                }
                change_bag(bagitemcount, 1, bagimgcount_c);

            // ラスト1つ前
            } else if (bagitemcount < bagimgcount_p) {
                change_bag(bagitemcount, 1, bagimgcount_cl);

            // ラスト
            } else {
                change_bag(bagimgcount_p, 1, bagimgcount_cl);

            }
        }
    }
}





var optDraggable = {
    revert: true,
    reverteffect: function() { /* NOP */ },
    starteffect: function(draggable) {
        draggable.setOpacity(0.5);
    },
    endeffect: function(draggable) {
        draggable.setOpacity(1.0);
        posfix(draggable);
    }
}





// オンロード時にする処理
window.onload = function() {
    $$(".dropzone").each(
        function(dropzone) {
            Droppables.add(dropzone.cleanWhitespace(), optDropzone);
        }
    );
    $$(".draggable").each(
        function(draggable) {
            new Draggable(draggable, optDraggable);
        }
    );
}

