/*
 * bxSlider のラッパ
 *
 *  $(function(){
 *      $("#bxslider").bxSliderWrapper({
 *          speed   : 4000, // 速度
 *          pause   : 4000, // 静止時間
 *          reverse : true, // 逆方向
 *          loop    : true, // ループ
 *      });
 *  });
 *
 */

$.fn.bxSliderWrapper = function(option) {
    var _this = this;
    var slider;

    // デフォルト設定
    var defaultOption = {
        // 方向
        mode        : 'vertical',
        // スピード
        speed       : 4000,
        // ポーズ
        pause       : 4000,
        // 自動
        auto        : true,
        // prev, next の表示
        controls    : false
    };
        
    if (! option) {
        option = {};
    }

    // 逆順スライド
    if (option.reverse) {
        delete option.reverse;

        // 要素を逆順にする
        var list = $('> *', _this).get();
        _this.empty();
        for (var i = list.length - 1; 0 <= i; i--) {
            _this.append(list[i]);
        }

        // 逆方向指定
        defaultOption.autoDirection = 'prev';
        // 開始インデックス指定
        defaultOption.startingSlide = $('> *', _this).length - 1;

        // 最後のスライドで停止
        if (! option.loop) {
            delete option.loop;
            defaultOption.onAfterSlide = function(current) {
                if (current == 0) {
                    slider.stopShow();
                }
            };
        }
    } else {
        // 最後のスライドで停止
        if (! option.loop) {
            delete option.loop;
            defaultOption.onAfterSlide = function(current, total) {
                if (current == total - 1) {
                    slider.stopShow();
                }
            };
        }
    }

    // デフォルトオプションの適用
    for (var i in defaultOption) {
        if (option[i] == undefined) {
            option[i] = defaultOption[i];
        }
    }

    slider = _this.bxSlider(option);
    return slider;
};

