PageSourceSearch

https://www.bridgestone.co.jp/corporate/global-common/js/top_cojp.js

js bridgestone.co.jp collected 2026-10-02 03:17:28 UTC 45,151 bytes, 1,189 lines download raw bytes

1$(function () {
2
3    var $window = $(window);
4    var $body = $('body');
5
6    $.support.touch = ('ontouchstart' in window);
7    $body.addClass($.support.touch ? 'isTouchScreen' : 'isNotTouchScreen');
8
9    var currentSection = [];
10    var def_ata = $.Deferred();
11    var def_pro = $.Deferred();
12    var def_tec = $.Deferred();
13    var def_his = $.Deferred();
14
15    $.page.loading = $.Deferred();
16    $window.on('load', function () {
17        setTimeout(function () {
18            $('#aboutMain').one('transitionend webkitTransitionEnd', function () {
19                $.page.loading.resolve();
20            }).addClass('active');
21        }, 500);
22        $window.triggerHandler('infoSliderSetting');
23    });
24
25    $.page.recalculateSize();
26
27    var resizeTimer;
28    $window.on('resize', function () {
29        clearTimeout(resizeTimer);
30        resizeTimer = setTimeout(function () {
31            $.page.recalculateSize();
32            $window.triggerHandler('pageResize');
33        }, 200);
34    });
35
36    var scrollTimer;
37    $window.on('scroll', function () {
38        clearTimeout(scrollTimer);
39        scrollTimer = setTimeout(function () {
40            $.page.recalculateScroll();
41            $window.triggerHandler('pageScroll');
42        }, 200);
43    });
44
45    (function () {
46
47        var $mainvis = $('#aboutMainvis').is('div') ? $('#aboutMainvis') : $('#aboutMainvisMov');
48        var movDef = $.Deferred();
49        $window.on('load', function () {
50            $mainvis.addClass('loaded');
51            movDef.resolve();
52        });
53        if (!$('#aboutMainvis').is('div')) {
54            movDef.done(function () {
55                var $videoMainWrap = $mainvis.find('.videoMainWrap');
56
57                $window.on('pageResize.video', function () {
58
59                    var css = {
60                        width: '',
61                        height: '',
62                        left: '',
63                        top: ''
64                    };
65
66                    if ($.page.isPcView) {
67
68                        var boxWidth = $mainvis.width();
69                        var boxHeight = $mainvis.height();
70
71                        var boxRatio = boxHeight / boxWidth;
72                        var videoRatio = 9 / 16;
73
74                        css.width = boxWidth;
75                        css.height = boxWidth * videoRatio;
76
77                        if (boxRatio > videoRatio) {
78                            css.width = boxHeight / videoRatio;
79                            css.height = boxHeight;
80                        }
81
82                        css.left = (boxWidth - css.width) / 2;
83                        css.top = (boxHeight - css.height) / 2;
84
85                    }
86
87                    $videoMainWrap.css(css);
88
89                }).triggerHandler('pageResize.video');
90
91                $.def_mainvid.resolve();
92            });
93        }
94
95    })();
96
97    (function () {
98
99        var $news = $('#aboutNews');
100        var $slider = $news.find('.newsList');
101        var $sliderList = $slider.find('.slides');
102        if ($slider.length === 0) {
103            return false;
104        }
105
106        // json読み込み
107        $.getJSON("/js/top_news.json", function (data) {
108            var dateLength = "";
109            if (data.length > 3) {
110                var dateLength = 3;
111            } else {
112                var dateLength = data.length;
113            }
114
115            for (var i = 0; i < dateLength; i++) {
116                var $date = data[i].date;
117                var $detail = data[i].detail;
118                var $url = data[i].url;
119                var $pdf = data[i].pdf;
120                var $size = data[i].size;
121                var $linkBlank = data[i].blank;
122                var $category = data[i].ticker_trackEvent_category;
123                var $action = data[i].ticker_trackEvent_action;
124                var $trackEvent = "ga('send', 'event', 'click', '" + $category + "', '" + $action + "')";
125
126                //check PDF
127                if ($pdf == 'T') {
128                    blank = ' target="_blank"';
129                    //check PDF size
130                    if ($size == '') {
131                        size = '';
132                    } else {
133                        size = '(' + $size + ')';
134                    }
135                } else if ($linkBlank == 'T' && $pdf == 'F') {
136                    blank = ' target="_blank"';
137                    size = '';
138                } else if ($pdf == 'F') {
139                    blank = '';
140                    size = '';
141                }
142
143                var $text = '';
144                if ($url == '') { // リンク無し
145                    $text += '<li class="newsItem"><span class="newsItemDate">' + $date + '</span><span class="newsItemText">' + $detail + '</span></li>';
146                } else if ($linkBlank == 'T' && $pdf == 'F') { // pdfでない別窓リンク
147                    $text += '<li class="newsItem"><a class="link" href="' + $url + '"' + blank + ' class="inner"><span class="newsItemDate">' + $date + '</span><span class="newsItemText">' + $detail + '<img src="/common/images/icon_com_11.gif" alt="blank link" class="linkIcon"></span></a></li>';
148
149                } else if ($linkBlank == 'T' && $pdf == 'T') { // pdfで別窓リンク
150                    $text += '<li class="newsItem"><a class="link" href="' + $url + '"' + blank + ' class="inner"><span class="newsItemDate">' + $date + '</span><span class="newsItemText">' + $detail + size + '<img src="/common/images/icon_com_03.gif" width="12" height="14" class="ico ico2x linkIcon" alt="PDF"></span></a></li>';
151
152                } else { // その他(同窓リンク)
153                    $text += '<li class="newsItem"><a class="link" href="' + $url + '" class="inner"><span class="newsItemDate">' + $date + '</span><span class="newsItemText">' + $detail + '</span></a></li>';
154
155                }
156                $sliderList.append($text);
157
158            }
159
160            var slider;
161            $slider.flexslider({
162                animation: "slide",
163                animationLoop: true,
164                slideshow: true,
165                slideshowSpeed: 5000,
166                pauseOnAction: false,
167                controlNav: false,
168                directionNav: false,
169                move: 1
170            });
171        });
172
173    })();
174
175    (function () {
176
177        var $lnav = $('#aboutLnav');
178        var $lnavHandle = $lnav.find('.lnavHandle');
179        var $lnavList = $lnav.find('.lnavList');
180        var $lnavLinks = $lnavList.find('a[href^="#"]');
181        var $scrollIcon = $('#aboutScrollIcon');
182        var $firstScroll = $scrollIcon.find('.firstScroll');
183
184        $.page.lnav = {
185            timer: 0,
186            open: function () {
187                clearTimeout($.page.lnav.timer);
188                $lnavList.addClass('active');
189                $.page.lnav.timer = setTimeout(function () {
190                    $lnavList.addClass('open');
191                }, 100);
192            },
193            close: function () {
194                clearTimeout($.page.lnav.timer);
195                $lnavList.removeClass('open');
196                $.page.lnav.timer = setTimeout(function () {
197                    $lnavList.removeClass('active');
198                }, 400);
199            }
200        };
201
202        $lnavHandle.on('click', function (e) {
203            e.preventDefault();
204            if ($lnavList.is('.active')) {
205                $.page.lnav.close();
206            } else {
207                $.page.lnav.open();
208            }
209        });
210
211        $lnavLinks.on('click', function (e) {
212            e.preventDefault();
213            var target = $(this).attr('href');
214            if (target === '#aboutTechnologyAndInnovation' || target === '#aboutCsr') {
215                if ($.page.isPcView || (!$.page.isPcView && !$.page.isTbPortraitView)) {
216                    target = '#technologyAndInnovationAndCsr';
217                }
218            }
219            if ($(target).length > 0) {
220                $('html, body').animate({
221                    scrollTop: $(target).offset().top
222                });
223                if ($.page.isSpView) {
224                    $.page.lnav.close();
225                }
226            }
227        });
228
229        if (!($.page.isSpView)) {
230            $lnavLinks.eq(0).addClass('active');
231        } else {
232            def_ata.resolve();
233            $.def_vid.resolve();
234            def_pro.resolve();
235            def_tec.resolve();
236            def_his.resolve();
237        }
238
239        var scrollPos;
240        var scrollPos_old = 0;
241        $window.on('pageNavigation', function () {
242            var menuItems = [];
243            $lnavLinks.map(function () {
244                menuItems.push($(this).attr('href'));
245            });
246            if ($.page.isPcView || (!$.page.isPcView && !$.page.isTbPortraitView)) {
247                menuItems[menuItems.indexOf('#aboutTechnologyAndInnovation')] = '#technologyAndInnovationAndCsr';
248                menuItems.splice(menuItems.indexOf('#aboutCsr'), 1);
249            }
250            var posDirection;
251            var windowHeight = $window.height();
252            var targetSection = [];
253
254            scrollPos = $.page.scrollTop;
255            if (scrollPos > scrollPos_old) {
256                posDirection = 'down';
257            } else if (scrollPos < scrollPos_old) {
258                posDirection = 'up';
259            } else {
260                posDirection = '';
261            }
262            scrollPos_old = scrollPos;
263
264            menuItems.forEach(function (item) {
265                var $target = $(item);
266                var targetTop = $target.offset().top;
267                var targetBottom, triggerPosition;
268
269                if (posDirection === 'down') {
270                    targetTop = targetTop - (windowHeight * 0.3);
271                    targetBottom = targetTop + $target.outerHeight();
272                    if (scrollPos > targetTop && scrollPos < targetBottom) {
273                        targetSection.push(item);
274                    }
275                } else if (posDirection === 'up') {
276                    targetBottom = targetTop + $target.outerHeight();
277                    triggerPosition = targetTop + $target.outerHeight() - (windowHeight * 0.5);
278                    if (scrollPos < triggerPosition && scrollPos + windowHeight * 0.5 > targetTop) {
279                        targetSection.push(item);
280                    }
281                }
282            });
283
284            if (JSON.stringify(currentSection) !== JSON.stringify(targetSection)) {
285                currentSection = targetSection;
286                menuChange();
287
288                if (currentSection.indexOf('#products') !== -1) {
289                    def_pro.resolve();
290                } else if (currentSection.indexOf('#aboutCsr') !== -1 || currentSection.indexOf('#technologyAndInnovationAndCsr') !== -1) {
291                    def_tec.resolve();
292                } else if (currentSection.indexOf('#history') !== -1) {
293                    def_his.resolve();
294                }
295            }
296
297            function menuChange() {
298                var changeMenu = currentSection;
299                var tecAndCsr = changeMenu.indexOf('#technologyAndInnovationAndCsr');
300                if (tecAndCsr !== -1) {
301                    changeMenu[tecAndCsr] = '#aboutTechnologyAndInnovation';
302                    changeMenu.push('#aboutCsr');
303                }
304                $lnavLinks.filter('.active').removeClass('active');
305                changeMenu.forEach(function (target) {
306                    $lnavLinks.filter('[href="' + target + '"]').addClass('active');
307                });
308            }
309        });
310
311        $window.on('pageScroll', function () {
312            if ($.page.scrollTop > 27) {
313                $lnav.addClass('lnavVisible');
314            } else {
315                $lnav.removeClass('lnavVisible');
316            }
317
318            if (!($.page.isSpView)) {
319                $window.triggerHandler('pageNavigation');
320                $window.triggerHandler('intersectionObserverInfo');
321            }
322        });
323
324        $window.on('pageResize', function () {
325            if (!($.page.isSpView)) {
326                $window.triggerHandler('pageNavigation');
327            } else {
328                $lnavLinks.filter('.active').removeClass('active');
329            }
330        });
331
332        $firstScroll.on('click', function (e) {
333            e.preventDefault();
334            var target = $(this).attr('href');
335            if ($(target).length > 0) {
336                $('html,body').animate({
337                    scrollTop: $(target).offset().top
338                });
339            }
340        });
341
342    })();
343
344    (function () {
345
346        var fadeInItems = ['#aboutInfo', '#aboutProducts', '#aboutActivitiesAndLocations', '#aboutTechnologyAndInnovation', '#aboutCsr'/* , '#aboutSponsorships' */, '#aboutHistory', '#aboutOther'];
347        if ($.page.isPcView || (!$.page.isPcView && !$.page.isTbPortraitView)) {
348            fadeInItems[fadeInItems.indexOf('#aboutTechnologyAndInnovation')] = '#technologyAndInnovationAndCsr';
349            fadeInItems.splice(fadeInItems.indexOf('#aboutCsr'), 1);
350        }
351
352        fadeInItems.forEach(function (item) {
353            $(item).addClass('-isHidden');
354        });
355
356        $window.on('intersectionObserver.fadein', function () {
357            var root = $window.scrollTop() + $window.height();
358            fadeInItems.forEach(function (item) {
359                var $target = $(item);
360                var targetTop = $target.offset().top;
361                if (targetTop < root) {
362                    $target.addClass('-fadeIn').removeClass('-isHidden');
363                }
364            });
365        }).triggerHandler('intersectionObserver.fadein');
366
367        var scrollTimer02;
368        $window.on('scroll', function () {
369            clearTimeout(scrollTimer02);
370            scrollTimer02 = setTimeout(function () {
371                $window.triggerHandler('intersectionObserver.fadein');
372            }, 10);
373        });
374
375        $window.on('pageResize', function () {
376            $window.triggerHandler('intersectionObserver.fadein');
377        });
378
379    })();
380
381    (function () {
382
383        var $info = $('#aboutInfo');
384        var $infoListWrap = $info.find('.infoListWrap');
385        var $plainSlider = $infoListWrap.find('.infoList').detach();
386
387        var slider = null;
388        var currentSlideIndex = 0;
389        var $slideContents = $('<ul />');
390        var $slideContentsForSP = $('<ul />');
391        var mql_spMode = window.matchMedia('(max-width: 480px)');
392
393        var sliderInitForPcAndSpView = function () {
394
395            var def = $.Deferred();
396            $infoListWrap.empty();
397
398            var $slider = $plainSlider.clone();
399            var $sliderList = $slider.find('ul.slides');
400            var $sliderItems = $sliderList.children();
401            var diff = 15 - ($sliderItems.length % 15);
402            for (var i = 0; i < diff; i++) {
403                $sliderList.append('<li class="infoItem infoItemEmpty"></li>');
404            }
405            $sliderItems = $sliderList.children();
406
407            var lastGridSize = 0;
408            var getGridSize = function () {
409                return $.page.isPcView ? 3 : 2;
410            };
411
412            $.page.updateInfoSliderSize = function () {
413                if (slider) {
414                    var gridSize = getGridSize();
415                    var width = $slider.width();
416                    var pageLength = ($.page.isPcView ? 3 : 5);
417                    var innerWidth = width * pageLength;
418                    slider.vars.itemWidth = innerWidth / $sliderItems.length;
419                    slider.doMath();
420                    slider.update(slider.pagingCount);
421                    slider.setProps();
422                    if (lastGridSize != gridSize) {
423                        slider.flexAnimate(0, true);
424                    }
425                    lastGridSize = gridSize;
426                }
427            };
428
429            $slider.appendTo($infoListWrap).flexslider({
430                animation: "slide",
431                animationLoop: true,
432                slideshow: true,
433                slideshowSpeed: 5000,
434                pauseOnAction: false,
435                controlNav: false,
436                directionNav: false,
437                itemWidth: $slider.width(),
438                start: function (s) {
439                    slider = s;
440                    slider.pause();
441                    setTimeout(function () {
442                        $.page.updateInfoSliderSize();
443                    }, 10);
444                    def.resolve();
445                },
446                before: function () {
447                    currentSlideIndex = Math.min(slider.animatingTo * slider.visible, slider.slides.length - slider.visible);
448                    $.page.updateCountersAndCharts(currentSlideIndex);
449                }
450            });
451
452            return def;
453
454        };
455
456        var sliderInitForTbView = function () {
457
458            var def = $.Deferred();
459            $infoListWrap.empty();
460
461            var $slider = $plainSlider.clone();
462            var $sliderList = $slider.find('ul.slides');
463
464            var items = $sliderList.children().toArray();
465            var itemPerPage = [3, 3];
466
467            $.each(itemPerPage, function (i, length) {
468                var $newItem = $('<li class="infoItemWrap" />');
469                for (var j = 0; j < length; j++) {
470                    (function (j) {
471                        var $oldItem = $(items.shift());
472                        $('<div />').append($oldItem.children()).addClass($oldItem.attr('class')).appendTo($newItem);
473                    })(j);
474                }
475                $newItem.appendTo($slideContents);
476            });
477
478            var itemsForSP = $slideContents.find('.infoItem').clone().toArray();
479            var itemPerPageForSP = [2, 2, 2];
480            $.each(itemPerPageForSP, function (i, length) {
481                var $newItem = $('<li class="infoItemWrap" />');
482                for (var j = 0; j < length; j++) {
483                    (function (j) {
484                        var $oldItem = $(itemsForSP.shift());
485                        $oldItem.appendTo($newItem);
486                    })(j);
487                }
488                $newItem.appendTo($slideContentsForSP);
489            });
490
491            if ($.page.isSpView) {
492                $sliderList.empty().append($slideContentsForSP.children().clone());
493            } else {
494                $sliderList.empty().append($slideContents.children().clone());
495            }
496
497            $.page.updateInfoSliderSize = function () {
498                setTimeout(function () {
499                    slider.vars.itemWidth = slider.viewport.width();
500                    slider.update();
501                    $window.triggerHandler('focus');
502                }, 100);
503            };
504
505            $slider.appendTo($infoListWrap).flexslider({
506                animation: "slide",
507                animationLoop: true,
508                slideshow: true,
509                slideshowSpeed: 5000,
510                pauseOnAction: false,
511                controlNav: false,
512                directionNav: false,
513                itemWidth: $slider.width(),
514                start: function (s) {
515                    slider = s;
516                    slider.pause();
517                    setTimeout(function () {
518                        $.page.updateInfoSliderSize();
519                    }, 10);
520                    def.resolve();
521                },
522                before: function () {
523                    currentSlideIndex = Math.min(slider.animatingTo * slider.visible, slider.slides.length - slider.visible);
524                    $.page.updateCountersAndCharts(currentSlideIndex);
525                }
526            });
527
528            def_ata.resolve();
529            return def;
530
531        };
532
533        (function () {
534
535            $.page.updateCountersAndCharts = function (p) {
536                if (slider) {
537                    if (p == null) p = slider.currentSlide;
538                    var $visible = slider.slides.eq(p).children();
539
540                    $visible.each(function () {
541                        var $visibleItem = $(this);
542                        var noAnimate = $visibleItem.is('.active');
543                        $visibleItem.find('.infoItemNumberCount, .infoItemBusinessPercentageCount, .infoItemMarketPercentageCount').each(function () {
544                            var $counter = $(this);
545                            var start = parseFloat($counter.attr('data-start'));
546                            var end = parseFloat($counter.attr('data-end'));
547                            var decimals = parseInt($counter.attr('data-decimals'), 10);
548                            var duration = parseInt($counter.attr('data-duration'), 10) || 2000;
549                            var grouping = ($.inArray($counter.attr('data-grouping'), ['0', 'false']) < 0);
550                            $counter.countup({
551                                startVal: start,
552                                endVal: end,
553                                decimals: decimals,
554                                duration: (noAnimate ? 1 : duration) / 1000,
555                                options: {
556                                    useGrouping: grouping
557                                }
558                            });
559                        });
560                    });
561                    $visible.addClass('active');
562                    var $pieChart = $visible.find('#infoItemMarketPieChartCanvas');
563                    if ($pieChart.length) {
564                        $.page.renderPieChart($pieChart);
565                    }
566                }
567            };
568
569            var pieChart = {
570                instance: null,
571                timer: 0
572            };
573
574            $.page.renderPieChart = function ($element) {
575                clearTimeout(pieChart.timer);
576                var noAnimate = false;
577                if (pieChart.instance) {
578                    noAnimate = true;
579                    pieChart.instance.destroy();
580                }
581                pieChart.timer = setTimeout(function () {
582                    pieChart.instance = new Chart($element, {
583                        type: 'pie',
584                        data: {
585                            datasets: [{
586                                data: [24, 46, 20, 11],
587                                backgroundColor: ['#bb0000', '#d33f3f', '#dc8383', '#fdcdcd'],
588                                hoverBackgroundColor: ['#bb0000', '#d33f3f', '#dc8383', '#fdcdcd'],
589                                borderWidth: 0
590							}]
591                        },
592                        options: {
593                            legend: {
594                                display: false
595                            },
596                            tooltips: {
597                                enabled: false
598                            },
599                            hover: {
600                                intersect: false
601                            },
602                            animation: {
603                                duration: noAnimate ? 0 : 1000
604                            }
605                        }
606                    });
607                }, 400);
608            };
609
610        })();
611
612        $window.on('intersectionObserverInfo', function () {
613            var viewportBottom = $.page.scrollTop + $window.height();
614            var targetPosition = $info.offset().top;
615            if (targetPosition < viewportBottom) {
616                $.when($.page.loading, def_ata).done(function () {
617                    $.page.updateCountersAndCharts(0);
618                    slider.play();
619                    $window.off('intersectionObserverInfo');
620                });
621            }
622        }).triggerHandler('intersectionObserverInfo');
623
624        $window.on('infoSliderSetting', function () {
625            if (slider !== null) return;
626
627            var sliderInit = $.page.isTbView ? sliderInitForTbView : sliderInitForPcAndSpView;
628            $.when($.page.loading, sliderInit()).done(function () {
629                // $info.find('.lazy-img').lazyload();
630            });
631        });
632
633        $window.on('pageResize.slider', function () {
634            //if( !($.page.isTbView) ){
635            $.page.updateInfoSliderSize();
636            //}
637        });
638
639        mql_spMode.addListener(function () {
640            slider.pause();
641
642            var count = slider.count;
643            var currentIndex = slider.currentSlide;
644            for (var i = 0; i < count; i++) {
645                slider.removeSlide(0);
646            }
647
648            if (mql_spMode.matches) {
649                var $items = $slideContentsForSP.children().clone();
650            } else {
651                var $items = $slideContents.children().clone();
652            }
653            $items.each(function (index) {
654                slider.addSlide($(this));
655            });
656
657            $.page.updateInfoSliderSize();
658            setTimeout(function () {
659                if (slider.count <= currentIndex) {
660                    slider.flexslider(slider.count - 1);
661                }
662                $.page.updateCountersAndCharts();
663                slider.play();
664            }, 100);
665        });
666
667        $info.find('.infoListNaviPrev a').on('click', function (e) {
668            e.preventDefault();
669            slider.flexslider('prev');
670        });
671
672        $info.find('.infoListNaviNext a').on('click', function (e) {
673            e.preventDefault();
674            slider.flexslider('next');
675        });
676
677    })();
678
679    (function () {
680
681        var $video = $('#aboutVideo');
682        var $videoMainWrap = $video.find('.videoMainWrap');
683
684        $window.on('pageResize.video', function () {
685
686            var css = {
687                width: '',
688                height: '',
689                left: '',
690                top: ''
691            };
692
693            if ($.page.isPcView) {
694
695                var boxWidth = $video.width();
696                var boxHeight = $video.height();
697
698                var boxRatio = boxHeight / boxWidth;
699                var videoRatio = 9 / 16;
700
701                css.width = boxWidth;
702                css.height = boxWidth * videoRatio;
703
704                if (boxRatio > videoRatio) {
705                    css.width = boxHeight / videoRatio;
706                    css.height = boxHeight;
707                }
708
709                css.left = (boxWidth - css.width) / 2;
710                css.top = (boxHeight - css.height) / 2;
711
712            }
713
714            $videoMainWrap.css(css);
715
716        }).triggerHandler('pageResize.video');
717
718    })();
719
720    (function () {
721
722        var $products = $('#aboutProducts');
723        var $images = $products.find('.productsItemImage');
724        var $tires = $products.find('.productsTires');
725        var $tiresSlider = $tires.find('.productsItemImageList');
726        var $diversifiedProducts = $products.find('.productsDiversifiedProducts');
727        var $diversifiedProductsSlider = $diversifiedProducts.find('.productsItemImageList');
728        var def1 = $.Deferred();
729        var def2 = $.Deferred();
730        var slider1, slider2;
731
732        $tiresSlider.add($diversifiedProductsSlider).each(function (i, el) {
733
734            var $slider = $(this);
735            var $slides = $slider.find('.slides');
736            var $items = $slides.children();
737            var itemWidth = 280;
738            var itemLength = $items.length;
739            var slideWidth = itemWidth * itemLength;
740            var $clone = $items.clone();
741            var cloneCount = 2;
742            $slides.append($clone.clone());
743            $slides.append($clone.clone());
744
745            while (slideWidth < 1600) {
746                $slides.append($clone.clone());
747                slideWidth += itemWidth * itemLength;
748                cloneCount++;
749            }
750
751            var slider;
752            var offset = (~~(cloneCount / 2)) * itemLength;
753
754            var updateSize = function (a) {
755                if (slider) {
756                    slider.vars.itemWidth = $.page.isPcView ? 280 : ($.page.innerWidth * 0.373333);
757                    slider.doMath();
758                    slider.slides.width(slider.computedW);
759                    slider.update(slider.pagingCount);
760                    slider.setProps(a);
761                    slider.flexAnimate(0, true);
762                }
763            };
764
765            var args = {
766                animation: "slide",
767                animationLoop: true,
768                slideshow: true,
769                slideshowSpeed: 5000,
770                pauseOnAction: false,
771                controlNav: false,
772                directionNav: false,
773                reverse: true,
774                move: 1,
775                startAt: offset,
776                itemWidth: 280,
777                maxItems: 3,
778                minItems: 3,
779                start: function (s) {
780                    if (i == 0) {
781                        slider1 = s;
782                        slider1.pause();
783                        def1.resolve();
784                    } else {
785                        slider2 = s;
786                        slider2.pause();
787                        def2.resolve();
788                    }
789                },
790                after: function (slider) {
791
792                    var speed = slider.vars.animationSpeed;
793
794                    if (slider.currentSlide > offset + itemLength) {
795                        slider.vars.animationSpeed = 0;
796                        slider.flexAnimate(slider.currentSlide - itemLength, true);
797                        slider.vars.animationSpeed = speed;
798                    }
798 else if (slider.currentSlide < offset) {
799                        slider.vars.animationSpeed = 0;
800                        slider.flexAnimate(slider.currentSlide + itemLength, true);
801                        slider.vars.animationSpeed = speed;
802                    }
803
804                }
805            }
806            if ($slider.parents('li').hasClass('productsDiversifiedProducts')) {
807                args = $.extend({}, args, {
808                    reverse: false
809                });
810            }
811            if (!$.page.isPcView) args = $.extend({}, args, {
812                reverse: false
813            });
814
815            $slider.flexslider(args);
816
817            $window.on('pageResize', function () {
818                updateSize(args);
819            });
820
821        });
822
823        $.when(def_pro, def1, def2).done(function () {
824            $images.removeClass('lock');
825            slider1.play();
826            slider2.play();
827        });
828
829        $products.find('.productsLeftSide a').on('click.slider', function (e) {
830            e.preventDefault();
831            $tiresSlider.flexslider('next');
832        });
833
834        $products.find('.productsRightSide a').on('click.slider', function (e) {
835            e.preventDefault();
836            $diversifiedProductsSlider.flexslider('next');
837        });
838
839        $tires.find('.productsRightSide a').off('click.slider').on('click.slider', function (e) {
840            e.preventDefault();
841            $tiresSlider.flexslider('next');
842        });
843
844    })();
845
846    (function () {
847
848        var $activitiesAndLocations = $('#aboutActivitiesAndLocations');
849
850        var $locations = $activitiesAndLocations.find('.locations');
851        var $scrollIcon = $locations.find('.spScrollIcon');
852        var $mapWrap = $locations.find('.locationsMapWrap');
853        var $mapScrollable = $mapWrap.find('.locationsMapScrollable');
854        var $mapAll = $mapWrap.find('.locationsMapAll');
855        var $tabs = $locations.find('.locationsTabItem');
856        var $tabLinks = $tabs.find('a');
857        var $maps = $mapAll.find('.locationsMapItem');
858        var $overlay = $('<div class="locationsMapOverlay"></div>').insertAfter($mapAll);
859        var $overlayLink = $('<a class="locationsMapOverlayLink"></a>').appendTo($overlay);
860        var $overlayImg = $('<img src="" alt="" class="locationsMapOverlayImage">').appendTo($overlay);
861        var $overlayCaption = $('<div class="locationsMapOverlayCaption"></div>').appendTo($overlay);
862        var $jpCaption = $('<div class="japanAttention"></div>').appendTo($overlay);
863        var $activities = $activitiesAndLocations.find('.activities');
864
865        var $locationsLinks = $activitiesAndLocations.find('.locationsLink');
866        var $leftLink = $locationsLinks.find('.locationsLinkLeft');
867        var $zoomOutLink = $locationsLinks.find('.locationsLinkZoomOut');
868        var $detailLink = $locationsLinks.find('.locationsLinkDetail');
869        var $iconExp = $locationsLinks.find('.iconExp');
870
871        var calcWrapPos = function () {
872            var scrollableWidth = $mapScrollable.width();
873            return $.page.isSpView ? (scrollableWidth / 2.4) : (scrollableWidth - $mapWrap.width()) / 2;
874        };
875
876        var zoomOut = function () {
877            $overlay.fadeOut();
878            $mapWrap.removeClass('locationsMapZoomIn');
879            if (!$.page.isPcView && $('.locationsMapAll').hasClass('locationsMapZoomIn')) $mapWrap.scrollLeft(calcWra
879pPos());
880            $mapAll.attr('class', 'locationsMapAll');
881            $zoomOutLink.add($detailLink).removeClass('active');
882            $leftLink.removeClass('active');
883            $iconExp.show();
884            $overlayCaption.empty();
885            $jpCaption.empty();
886        };
887
888        $tabLinks.on('click', function (e) {
889            e.preventDefault();
890            var category = $(this).attr('data-category');
891            if (!category) return;
892            var $target = $maps.filter('[data-category="' + category + '"]').eq(0);
893            if (!$target.length) return;
894            $maps.removeClass('active');
895            $target.addClass('active');
896            $tabLinks.removeClass('active');
897            $(this).addClass('active');
898            $activities.toggle(category === 'Overview');
899            if (!$.page.isPcView && !$('.locationsMapAll').hasClass('locationsMapZoomIn')) $mapWrap.animate({
900                scrollLeft: calcWrapPos()
901            });
902            zoomOut();
903            resetArea();
904        });
905
906        var $mapImages = $mapAll.find('.locationsMapImage');
907        var $mapImageGlobal = $mapImages.filter('[data-area="global"]');
908        var $points = $maps.filter('.active').find('.locationsMapPointsImage');
909        var $pointsGlobal = $points.filter('[data-area="global"]');
910        var $areaLinks = $mapAll.find('.locationsMapAreaCaption a');
911        var resetArea = function () {
912            $mapImages.hide();
913            $mapImageGlobal.show();
914            $points = $maps.filter('.active').find('.locationsMapPointsImage');
915            $pointsGlobal = $points.filter('[data-area="global"]');
916            $points.hide();
917            $pointsGlobal.show();
918        };
919
920        resetArea();
921
922        if ($.page.isPcView) {
923            $areaLinks.hover(function () {
924                console.log('hov');
925                var $self = $(this);
926                var area = $self.attr('data-area');
927                var $showMap = $mapImages.filter('[data-area="' + area + '"]');
928                var $showPoint = $points.filter('[data-area="' + area + '"]');
929                if (!$showMap.length) $showMap = $mapImageGlobal;
930                if (!$showPoint.length) $showPoint = $pointsGlobal;
931                $mapImages.hide();
932                $showMap.show();
933                $points.hide();
934                $showPoint.show();
935            }, function () {
936                resetArea();
937            });
938        }
939
940        var timeoutD;
941        $areaLinks.on('click', function (e) {
942
943            clearTimeout(timeoutD);
944            e.preventDefault();
945
946            var $self = $(this);
947            var area = $self.attr('data-area');
948            var href = $self.attr('href');
949
950            $mapAll.attr('class', 'locationsMapAll').addClass('locationsMapArea' + area.charAt(0).toUpperCase() + area.slice(1));
951            $overlay.delay(200).fadeIn();
952            $overlayImg.attr('src', href);
953            $overlayLink.attr('href', $self.attr('data-detail'));
954            $overlayCaption.append('<div class="locationsMapOverlayAreaCount">' + $self.find('.locationsMapAreaCount').html() + '</div><div class="locationsMapOverlayAreaTitle">' + $self.find('.locationsMapAreaTitle').html() + '</div>');
955
956            var jpCap = $self.data('jp-caption');
957            if (jpCap) $jpCaption.text(jpCap);
958
959            $overlayLink.off('mouseenter.map mouseleave.map');
960
961            var hover = $self.attr('data-hover');
962            if (hover) {
963                $overlayLink.on('mouseenter.map', function () {
964                    $overlayImg.attr('src', hover);
965                });
966                $overlayLink.on('mouseleave.map', function () {
967                    $overlayImg.attr('src', href);
968                });
969            }
970
971            $detailLink.find('a').text($self.attr('data-title')).attr('href', $self.attr('data-detail'));
972            $leftLink.addClass('active');
973            $zoomOutLink.add($detailLink).addClass('active');
974            setTimeout(function () {
975                $mapAll.add($mapWrap).addClass('locationsMapZoomIn');
976            }, 1);
977
978            $scrollIcon.removeClass('show-true');
979            $iconExp.hide();
980        });
981
982        $zoomOutLink.on('click', function (e) {
983            e.preventDefault();
984            zoomOut();
985            timeoutD = setTimeout(function () {
986                $scrollIcon.addClass('show-true');
987            }, 10000);
988        });
989
990        $mapWrap.on('touchmove', function () {
991            $scrollIcon.removeClass('show-true');
992            clearTimeout(timeoutD);
993            if (!$('.locationsMapWrap').hasClass('locationsMapZoomIn')) timeoutD = setTimeout(function () {
994                $scrollIcon.addClass('show-true');
995            }, 10000);
996        });
997
998
999        $window.on('load pageResize', function () {
1000            if (!$.page.isPcView) $mapWrap.scrollLeft(calcWrapPos());
1001        });
1002
1003    })();
1004
1005    (function () {
1006
1007        var $csr = $('#aboutCsr');
1008        var $slider = $csr.find('.csrList');
1009        var slider;
1010        var def = $.Deferred();
1011
1012        $slider.flexslider({
1013            animation: "slide",
1014            animationLoop: true,
1015            slideshow: true,
1016            slideshowSpeed: 5000,
1017            pauseOnAction: false,
1018            controlNav: true,
1019            directionNav: false,
1020            smoothHeight: false,
1021            move: 1,
1022            start: function (s) {
1023                slider = s;
1024                slider.pause();
1025                def.resolve();
1026            }
1027        });
1028
1029        $.when(def_tec, def).done(function () {
1030            slider.play();
1031        });
1032
1033        $csr.find('.csrListNaviPrev a').on('click', function (e) {
1034            e.preventDefault();
1035            $slider.flexslider('prev');
1036        });
1037
1038        $csr.find('.csrListNaviNext a').on('click', function (e) {
1039            e.preventDefault();
1040            $slider.flexslider('next');
1041        })
1042
1043    })();
1044
1045    (function () {
1046
1047        var $history = $('#aboutHistory');
1048        var $slider = $history.find('.historyList');
1049        var slider = null;
1050        var def = $.Deferred();
1051
1052        var lastMainSlideGridSize = 0;
1053        var getMainSlideGridSize = function () {
1054            if ($.page.isSpView) return 2;
1055            if ($.page.isTbPortraitView) return 2;
1056            if ($.page.isTbView) return 3;
1057            return 4;
1058        };
1059        var updateMainSlideSize = function () {
1060            if (slider) {
1061                var gridSize = getMainSlideGridSize();
1062                var width = $slider.width();
1063                slider.vars.minItems = gridSize;
1064                slider.vars.maxItems = gridSize;
1065                //slider.vars.move = gridSize;
1066                slider.vars.itemWidth = width / gridSize;
1067                slider.doMath();
1068                slider.slides.width(slider.computedW);
1069                slider.update(slider.pagingCount);
1070                slider.setProps();
1071                if (lastMainSlideGridSize != gridSize) {
1072                    slider.flexAnimate(0, true);
1073                }
1074                lastMainSlideGridSize = gridSize;
1075                updateIndicators();
1076            }
1077        };
1078
1079        var $timeline = $history.find('.historyTimelineList');
1080        var $indicatorList = $timeline.find('ul.slides');
1081        var $indicators = $indicatorList.find('.historyTimelineItem');
1082        var $indicatorLinks = $indicators.find('a');
1083        var updateIndicators = function (page) {
1084            if (slider) {
1085                if (page == null) page = slider.currentSlide;
1086                var $visible = slider.slides.slice(page, page + slider.visible);
1087                $indicators.find('a').removeClass('active');
1088                $visible.each(function () {
1089                    var year = $(this).attr('data-year');
1090                    $indicators.filter('.historyYear' + year).find('a').addClass('active');
1091                });
1092            }
1093        };
1094
1095        var timeline;
1096        var updateTimelineSize = function () {
1097            if (timeline) {
1098                var firstItemWidth = $indicators.eq(0).width('').css('margin-right', '').outerWidth(true);
1099                var normalItemWidth = $indicators.eq(-1).width('').css('margin-right', '').outerWidth(true);
1100                var innerWidth = firstItemWidth + (normalItemWidth * ($indicators.filter(':visible').length - 1));
1101                timeline.vars.itemWidth = innerWidth / $indicators.length;
1102                timeline.doMath();
1103                timeline.update(timeline.pagingCount);
1104                timeline.setProps();
1105            }
1106        };
1107
1108        $timeline.flexslider({
1109            animation: "slide",
1110            animationLoop: false,
1111            slideshow: false,
1112            controlNav: false,
1113            prevText: '',
1114            nextText: '',
1115            itemWidth: $timeline.width(),
1116            start: function (s) {
1117                timeline = s;
1118                setTimeout(function () {
1119                    updateTimelineSize();
1120                }, 10);
1121            }
1122        });
1123
1124        $slider.flexslider({
1125            animation: "slide",
1126            slideshow: true,
1127            slideshowSpeed: 5000,
1128            pauseOnAction: false,
1129            animationLoop: true,
1130            controlNav: false,
1131            directionNav: false,
1132            move: 1,
1133            itemWidth: $slider.width(),
1134            start: function (s) {
1135                slider = s;
1136                slider.pause();
1137                def.resolve();
1138                setTimeout(function () {
1139                    updateMainSlideSize();
1140                    $slider.find('.historyItemImage img').css({
1141                        width: '100%'
1142                    });
1143                }, 200);
1144            },
1145            before: function () {
1146                var page = Math.min(slider.animatingTo, slider.slides.length - slider.visible);
1147                updateIndicators(page);
1148            }
1149        });
1150
1151        $.when(def_his, def).done(function () {
1152            slider.play();
1153        });
1154
1155        $window.on('pageResize', function () {
1156            updateMainSlideSize();
1157        });
1158
1159        $history.find('.historyLeftSide a').on('click', function (e) {
1160            e.preventDefault();
1161            $slider.flexslider('prev');
1162            $indicatorLinks.add(slider.slides).removeClass('clicked');
1163        });
1164
1165        $history.find('.historyRightSide a').on('click', function (e) {
1166            e.preventDefault();
1167            $slider.flexslider('next');
1168            $indicatorLinks.add(slider.slides).removeClass('clicked');
1169        });
1170
1171        $indicators.find('a').on('click', function (e) {
1172            e.preventDefault();
1173            var $self = $(this);
1174            if (slider) {
1175                var year = $self.attr('data-year');
1176                if (!year) return;
1177                var $target = slider.slides.filter('[data-year="' + year + '"]');
1178                if (!$target.length) return;
1179                var index = slider.slides.index($target.eq(0));
1180                var page = Math.min(index, slider.slides.length - slider.visible);
1181                slider.flexAnimate(page, true);
1182                slider.slides.add($indicatorLinks).removeClass('clicked');
1183                $self.add($target).addClass('clicked');
1184            }
1185        });
1186
1187    })();
1188
1189});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.