MJL.event.add(window, "load", function(event) {
    MJL.enable.flash("flash");
    MJL.enable.rollover("roll", {disable:"unroll"});
}, false);

/* -------------------------------------------------------------------
 jQuery plugins
------------------------------------------------------------------- */
/** jQuery lightbox plugin **/
$(function() {
	$('.spread a').lightBox();
});

/**
 * jQuery AnotherPictRollOver plugin
 * マウスオーバーした画像と別の画像をロールする
 * 
 * Attributes:
 * -@options: オプションのハッシュ
 *  -setter: 処理を仕掛ける要素。対象要素のclass名を指定
 *  -target: ロールオーバーする要素。対象要素のclass名を指定
 */
(function($){
    var name_space = 'AnotherPictRollOver';
    $.fn[name_space] = function(options){
        var elements = $(this);
        var settings = $.extend({
            setter : false,
            target : false
        }, options);
        function get(){
            return function(i){
                var setter = $("."+settings.setter, this), target = $("."+settings.target, this);
                if(target.length<=0){return}
                var overRegexp = new RegExp("(\.[a-z]+)$");
                var outRegexp = new RegExp("(_o)(\.[a-z]+)$");
                var roll = new Image;
                roll.src = target.attr("src").replace(overRegexp, "_o$1");
                setter.hover(function(){
                    target.attr("src", target.attr("src").replace(overRegexp, "_o$1") );
                },function(){
                    target.attr("src", target.attr("src").replace(outRegexp, "$2") );
                });
            }
        }
        elements.each(get());
        return this;
    };
})(jQuery);
$(function(){
    $('.spread').AnotherPictRollOver({ setter:'thumb', target:'loupe' });
});


/**
 * jQuery setTipMenu plugin
 * 
 * Attributes:
 * -@options: オプションのハッシュ
 *  -item: 表示／非表示レイヤーのclass名
 */
(function($){
    $.fn.setTipMenu = function(options){
        var options = $.extend({
            target : false,
            speed : 0,
            delay : 0
        }, options);
        var speed = options.speed;// 要素を見せるときのスピード。ミリセカンドで、デフォルトは0(アニメーションなし)
        var delay = options.delay;// 要素が消えるまでの時間。ミリセカンドで、デフォルトは0(アニメーションなし)
        
        return this.each(function(i){
            // 変数
            var elm = $(this);
            var thisTarget = $("." + elm.attr("class"), options.target);// ターゲットとなるレイヤー
            var items = $("li", options.target);// レイヤー全部を格納した配列
            var timer = [];// タイマー
            
            // CSS
            elm.css({ cursor : "pointer" });
            
            // 初期設定
            killed(items);
            
            // イベント
            elm.hover(function(){
                killed(items);
                clearTimeout( timer[this.index] );
                showTip(thisTarget);
                menuActivated(this);
            },function(){
                timer[this.index] = setTimeout(function(){
                    
                }, delay);
            });
        });
        
        /*
        ===================================================
         Private functions
        ===================================================
        */
        
        // 対象要素を表示する関数
        function showTip(elm){
            elm.css("position", "absolute");
            elm.fadeIn(speed);
        }
        
        // 対象要素を全て隠す関数
        function killed(elms){
            elms.each(function(){
                $(this).fadeOut(delay);
            });
        }
        
        // メニューのアクティブ処理
        function menuActivated(elm){
            var _elm = $(elm);
            var img = $('>img', _elm);
            var overRegexp = new RegExp("(\.[a-z]+)$");
            var outRegexp = new RegExp("(_o)(\.[a-z]+)$");
            
            $('dd', _elm.parent()).not('.disabled').each(function(){
                $(this).removeClass('current');
                var btnImg = $('>img', this);
                if(btnImg.length>0){
                    btnImg.attr('src', btnImg.attr('src').replace(outRegexp, "$2"));
                }
            });
            
            _elm.addClass('current');
            if(img.length>0){
                img.attr('src', img.attr('src').replace(overRegexp, "_o$1"));
            }
        }
        
    };
})(jQuery);

$(function(){
    $(".railway dd").not('.disabled').setTipMenu({target: ".mapAccess", speed: 500, delay: 100});
});
