jQuery(function($){

    // ファイルサイズを取得してセット
    (function(){
        $('a[href$=pdf]').not(':has(img)').addClass('link-pdf').setFileSize();
        $('a[href$=doc], a[href$=docx]').not(':has(img)').addClass('link-word').setFileSize();
        $('a[href$=xls], a[href$=xlsx]').not(':has(img)').addClass('link-excel').setFileSize();
    })();

    // リンク種別のアイコンをセット
    (function(){
        $('a.link-movie').append(' <img src="/common/images/icon_movie.gif" width="14" height="13" class="icon" alt="" />');
        $('a.link-sound').append(' <img src="/common/images/icon_sound.gif" width="14" height="13" class="icon" alt="" />');
    })();

    // ヘッダーに印刷用ボタンを表示
    (function(){
        var label = '', title = '';
        if ($('body').hasClass('lang-en') || $('#site-search').hasClass('lang-en')) {
            // 英語サイト用の表記
            label = 'Print';
            title = 'Link to Print Page';
        } else if ($('body').hasClass('lang-cn')) {
            // 中国語サイト用の表記
            label = '打印';
            title = 'Link to Print Page';
        } else {
            // 日本語サイト用の表記
            label = '印刷';
            title = '印刷用ページを開きます';
        }
        var search = document.getElementById('site-search');
        if (!search) {
            $('body').focus();
            $('#nav-header').append('<li class="nh-print"><a href="#" title="' + title +'" id="printBtn" style="cursor:pointer;">' + label + '</a></li>');
        }
    })();

    // 印刷用ページを表示
    (function(){
        var flag = location.hash,
            cssPrintPreview = '/common/css/print-preview.css',
            cssPrint = '/common/css/print.css',
            elem;
        if ($('body').hasClass('lang-en') || $('#site-search').hasClass('lang-en')) {
            // 英語サイト用の印刷ボタン
            elem = '<div class="btn-print"><div class="inner"><ul class="roll"><li class="print"><a href="javascript:window.print();"><img src="/common/images/en_btn_print_01.png" alt="Print" /></a></li><li class="close"><img src="/common/images/en_btn_close_01.png" alt="Back" class="backWindow" /></li></ul></div></div>';
        } else if ($('body').hasClass('lang-cn')) {
            // 中国語サイト用の印刷ボタン
            elem = '<div class="btn-print"><div class="inner"><ul class="roll"><li class="print"><a href="javascript:window.print();"><img src="/common/images/cn_btn_print_01.png" alt="打印" /></a></li><li class="close"><img src="/common/images/cn_btn_close_01.png" alt="返回" class="backWindow" /></li></ul></div></div>';
        } else {
            // 日本語サイト用の印刷ボタン
            elem = '<div class="btn-print"><div class="inner"><ul class="roll"><li class="print"><a href="javascript:window.print();"><img src="/common/images/btn_print_01.png" alt="印刷" /></a></li><li class="close"><img src="/common/images/btn_close_01.png" alt="戻る" class="backWindow" /></li></ul></div></div>';
        }
        
        $('#printBtn').click(function(){
            // 印刷プレビュー用のスタイル・UI をセット
            $('head').append('<link rel="stylesheet" type="text/css" media="screen, print" href="' + cssPrintPreview + '" id="printPreviewCss">');
            $('head').append('<link rel="stylesheet" type="text/css" media="print" href="' + cssPrint + '" id="printCss">');
            $('#header').prepend(elem);
            $('#footer').append(elem);
            // Flash の代替画像をセット
            $('#content-flash').each(function(){
                var obj = $(this);
                var lang = $('body').attr('id');
                var altImage;
                if (lang === 'jp-top') {
                    altImage = '<h1 class="hdg-1-01 topflash-alt-image"><img src="/images/index_main-visual_01.jpg" alt="かがくの夢、くらしの中に。" height="315" width="950" /></h1>';
                } else if (lang === 'en-top') {
                    altImage = '<h1 class="hdg-1-01 topflash-alt-image"><img src="/english/images/index_main-visual_01.jpg" alt="The Dream of Chemistry In Your Life" height="315" width="950" /></h1>';
                } else if (lang === 'cn-top') {
                    altImage = '<h1 class="hdg-1-01 topflash-alt-image"><img src="/chinese/images/index_main-visual_01.jpg" alt="将化学之梦寓于生活之中。" height="315" width="950" /></h1>';
                }
                obj.hide();
                $('#content-inner').prepend(altImage);
            });
            // 戻るボタンを押したら元の画面へ
            $('.backWindow').click(function(){
                $('.btn-print, #printPreviewCss, #printCss, .topflash-alt-image').remove();
                $('#content-flash').show();
            });
            return false;
        });
    })();

    // ワールドマップロールオーバー
    (function(){
        // 画像切替
        $('#world-map').each(function(){
            var stage = $(this);
            $('#map-image').each(function(){
                var obj = $(this),
                    imgPath = obj.attr('src');
                $('area', stage).hover(
                    function(){
                        area = $(this).attr('href').replace(/.*?#area/, '').toLowerCase();
                        imgPathOn = imgPath.replace(/(.+?oversea_map_01)(\.gif)/, '$1' + '_' + area + '$2');
                        obj.attr('src', imgPathOn);
                    },
                    function(){
                        obj.attr('src', imgPath);
                    }
                );
            });
        });
    })();

});

/* -----------------------------------------------
    jQuery プラグインをロード
------------------------------------------------- */

// ファイルサイズセット
(function ($) {
    var name_space = 'setFileSize';
    $.fn[name_space] = function () {
        var elements = $(this);

        function ajax(url, type, async) {
            var xhr = false;
            xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); /* HTTPリクエスト実行 */
            xhr.open(type, url, async);
            xhr.send(null);
            return xhr;
        }

        function get() {
            return function () {
                var $this = $(this);
                var url = this.href + "?nocash=" + Math.floor(Math.random() * 10000);
                var xhrObj = ajax(url, "HEAD", true);
                xhrObj.onreadystatechange = function () {
                    if (xhrObj.readyState == 4 && xhrObj.status == 200) {
                        var fileSize = xhrObj.getResponseHeader("Content-Length");
                        var fileType = xhrObj.getResponseHeader("Content-Type");
                        fileSize = parseInt(fileSize, 10);
                        var units = [
                            [1024 * 1024 * 1024, 'GB'],
                            [1024 * 1024, 'MB'],
                            [1024, 'KB'],
                            [1, 'bytes']
                        ];
                        for (var i = 0; i < units.length; i++) {
                            var unitSize = units[i][0];
                            var unitText = units[i][1];
                            if (fileSize >= unitSize) {
                                fileSize = fileSize / unitSize;
                                fileSize = Math.ceil(fileSize * 10) / 10;
                                break;
                            }
                        }
                        fileType = fileType.split('/')[1].toUpperCase();
                        return add(fileType, fileSize, unitText);
                    }
                }

                function add(type, size, unitText) {
                    var par_l, par_l;
                    if ($('body').hasClass('lang-en')) {
                        par_l = '(';
                        par_r = ')';
                    } else {
                        par_l = '（';
                        par_r = '）';
                    }
                    if ($this.attr('href').match(/\.docx?$/)) {
                        $this.append(" <span class='filesize'>" + par_l + "WORD:" + size + unitText + par_r + "</span> <img src='/common/images/icon_word.gif' width='12' height='12' class='icon' alt='' />");
                    }
                    else if ($this.attr('href').match(/\.xlsx?$/)) {
                        $this.append(" <span class='filesize'>" + par_l + "EXCEL:" + size + unitText + par_r + "</span> <img src='/common/images/icon_excel.gif' width='12' height='12' class='icon' alt='' />");
                    }
                    else if ($this.next('img').length == 0) {
                        $this.append(" <span class='filesize'>" + par_l + type + ":" + size + unitText + par_r + "</span> <img src='/common/images/icon_pdf.gif' width='12' height='12' class='icon' alt='' />");
                    }
                    else {
                        ($this.next('img').attr("src").match(/pdf/)) ? $this.next().after(" <span class='filesize'>" + par_l + type + ":" + size + unitText + par_r + "</span>") : $this.after(" <span class='filesize'>" + par_l + type + ":" + size + unitText + par_r + "</span>");
                    }
                }
            }
        }
        elements.each(get());
        return this;
    };
})(jQuery);



/* -----------------------------------------------
    MJL
------------------------------------------------- */
MJL.event.add(window, "load", function() {
    MJL.enable.heightEqualizer("list-col2", {groupBy : 2});
    MJL.enable.heightEqualizer("list-col3", {groupBy : 3});
    MJL.enable.heightEqualizer("nav-tab-01", {
        collect : function(parent) {
            return MJL.convArray(parent.getElementsByTagName("a"));
        }
    });
    MJL.enable.heightEqualizer("index-02", {
        collect : function(parent) {
            return MJL.convArray(parent.getElementsByTagName("div"));
        },
        groupBy : 2
    });
    MJL.enable.heightEqualizer("index-04", {groupBy : 3});
    MJL.enable.heightEqualizer("heq-2", {groupBy : 2});
    MJL.enable.heightEqualizer("heq-3", {groupBy : 3});
    MJL.enable.heightEqualizer("heq-4", {groupBy : 4});
    
    MJL.enable.rollover("roll", { disable : "unroll"});
});
