PageSourceSearch

https://www.tas-japan.com/TasmapHtml5/js/CP-UN-001.js

js tas-japan.com collected 2026-10-08 09:23:02 UTC 30,215 bytes, 801 lines download raw bytes

1/// <reference path="definitions.js" />
2/// <reference path="common.js" />
3
4/*
5 * GN-UN-001 ログイン画面
6 */
7$(function () {
8
9    var checkResult = {
10        os: USER_ENVIRONMENT.Excluded,
11        browser: USER_ENVIRONMENT.Excluded,
12        cookie: false,
13        canvas: false,
14        resolution: false,
15        storage: false
16    };
17
18    /**
19     * クッキー判定
20     */
21    var getCookieInfo = function () {
22        docCookies.setItem('COOKIE', 'ok');
23        var rslt = '';
24        //if (window.navigator.cookieEnabled) { //GEKO系でバグの可能性?
25        if (docCookies.getItem('COOKIE') == 'ok') {
26            checkResult.cookie = true;
27            rslt = '有効';
28            docCookies.removeItem('COOKIE');
29        } else {
30            checkResult.cookie = false;
31            rslt = '無効'
32        }
33        return rslt;
34    };
35    // Cookie判定
36    if (getCookieInfo() == '無効') {
37        $('.loadError').show();
38    } else {
39        $('.loadError').hide();
40    }
41
42    /**
43     * 別ファイルHTML内容の読み込み(お知らせ用) 
44     * @param {string} url 対象URL
45     * @param {object} target 読み込み先JQueryオブジェクト
46     */
47    var loadHtml = function (url, target) {
48        $.ajax(url, { timeout: 10000, datatype: 'html' }).then(
49            function (data) {
50                if (data) {
51                    var d2 = data.replace(/<link[^>]*>/g, '');
52                    var out_html = $($.parseHTML(d2));
53                    var dts = out_html.find('dt');
54                    var dds = out_html.find('dd');
55                    var base = out_html.filter('base')[0];
56                    for (var i = 0; i < 3; i++) {
57                        if (dts[i]) {
58                            var h = $(dds[i]).find('a')[0];
59                            if (base && h) {
60                                h.href = base.href + $(h).attr('href').slice(1);
61                                $(dds[i]).find('a')[0] = h;
62                            }
63                            target.append(
64                                '<li>' +
65                                    '<span class="date">' + transDate(dts[i].childNodes[0].textContent) + '</span>' +
66                                    (dts[i].childNodes[1] ? dts[i].childNodes[1].outerHTML : '') +
67                                    '<span class="text">' + dds[i].innerHTML + '</span>' +
68                                '</li>'
69                            );
70                        }
71                    }
72                }
73            }, function (jqXHR, textStatus) {
74                // エラーのときはなにもしない
75            }
76        );
77    }
78
79    /* メンテナンス情報のロード */
80    $('#maintenance').append(
81        '<li>' +
82            '<span class="title">定期メンテナンスのため、下記期間はサービスを停止いたします。</span>' +
83            '<span class="date">' + transDate(getMaintenaceDate()) + ' 19:00〜22:00</span>' +
84        '</li>'
85    );
86
87    /**
88     * 次のページへ遷移する
89     */
90    var segueNext = function () {
91        window.location.href = 'GN-CM-001.html';
92    };
93
94    var userManual = MANUAL_TYPE.NONE;
95
96    /**
97     * ログイン処理を実行する
98     * @param {string} id ログインID
99     * @param {string} pass パスワード
100     */
101    var executeLogin = function (id, pass) {
102        // リクエストパラメータ作成
103        var req = { UserId: id, Password: pass };
104        var url = PROJECT_ROOT.Generic + '/Login';
105
106        // エラー画面から戻る際のイベントハンドラ
107        var backButtonFunc = function (event) {
108            $('body').css('background-image', '');
109            returnFromError($('#main-contents'), $('#error-contents'));
110        };
111
112        // 画面をローディング状態にする
113        loadingScreen();
114
115        // ログインAPIへアクセスする
116        postRequest(url, req).done(function (data, textStatus, jqXHR) {
117            if (data.Status === API_STATUS.Success) {
118                // ワンタイムトークンをSessionStorageへ登録する
119                //sessionStorage.setItem(SESSION_KEYS.Token, data.Result.Token);
120                
121                // ClientIdを登録
122                sessionStorage.setItem(SESSION_KEYS.ClientId, data.Result.ClientId);
123
124                // 次の画面へ遷移する
125                segueNext();
126            } else {
127                if (data.Status === API_STATUS.InputError) {
128                    // 入力エラー
129                    $('body').css('background-image', 'none');  // ログイン画面の背景画像を消す
130                    displayErrorInner($('#main-contents'), $('#error-contents'), data.Messages, backButtonFunc, 'ログインエラー');
131                } else if (data.Status == API_STATUS.AuthError || data.Status == API_STATUS.TimeoutError) {
132                    // ログインチェックエラー・ログインタイムアウトエラー
133                    $('body').css('background-image', 'none');  // ログイン画面の背景画像を消す
134                    displayErrorInner($('#main-contents'), $('#error-contents'), data.Messages, backButtonFunc, 'ログインエラー');
135                } else if (data.Status == API_STATUS.AnotherService) {
136                    sessionStorage.setItem(SESSION_KEYS.UserId, id);
137
138                    // テスト環境での検証テストが必要
139                    if (location.protocol == 'http:') {
140                        location.replace(location.href.replace(/http:/,'https:'));
141                    }
142
143                    window.location.href = "GN-SQ-001.html";
144                } else {
145                    // 異常終了
146                    displaySystemError($('#main-contents'), $('#error-contents'), data.Messages, data.ErrorId);
147                }
148            }
149        }).fail(function (jqXHR, textStatus, errorThrown) {
150            // 通信エラー発生の場合
151            displaySystemError($('#main-contents'), $('#error-contents'));
152        });
153    };
154
155    /**
156     * SSLの状態をチェックする
157     */
158    var checkSsl = function () {
159        if ("https:" == document.location.protocol) {
160            $('input[name=typeSsl]').val(["1"]);
161            $('#cautionSsl').text('※SSLでログインできない方は、「非SSLでのログイン」からログインしてください。');
162        } else {
163            $('input[name=typeSsl]').val(["0"]);
164            $('#cautionSsl').text('※セキュリティ上、SSL(通信の暗号化)を使うことを推奨いたします。');
165        }
166    };
167
168    /**
169     * ユーザー利用環境
170     */
171    var userEnvironment = USER_ENVIRONMENT.Excluded;
172
173    /**
174     * OS判定
175     */
176    var getOSInfo = function () {
177        var vs;
178        var ua = navigator.userAgent;
179        // Windows 10 の処理
180        if (ua.match(/Win(dows )?NT 10\.0/)) {
181            vs = 'Windows 10';
182            checkResult.os = USER_ENVIRONMENT.Html5;
183        }
184        // Windows 8.1 の処理
185        else if (ua.match(/Win(dows )?NT 6\.3/)) {
186            vs = 'Windows 8.1';
187            checkResult.os = USER_ENVIRONMENT.Both;
188        }
189        // Windows 8 の処理
190        else if (ua.match(/Win(dows )?NT 6\.2/)) {
191            vs = 'Windows 8';
192            checkResult.os = USER_ENVIRONMENT.Both;
193        }
194        // Windows 7 の処理
195        else if (ua.match(/Win(dows )?NT 6\.1/)) {
196            vs = 'Windows 7';
197            checkResult.os = USER_ENVIRONMENT.Both;
198        }
199        // Windows Vista の処理
200        else if (ua.match(/Win(dows )?NT 6\.0/)) {
201            vs = 'Windows Vista';
202            //checkResult.os = USER_ENVIRONMENT.Excluded;
203            checkResult.os = USER_ENVIRONMENT.NotRecommend;
204        }
205        // Windows Server 2003 の処理
206        else if (ua.match(/Win(dows )?NT 5\.2/)) {
207            vs = 'Windows Server 2003';
208            checkResult.os = USER_ENVIRONMENT.Excluded;
209        }
210        // Windows XP の処理
211        else if (ua.match(/Win(dows )?(NT 5\.1|XP)/)) {
212            vs = 'Windows XP';
213            checkResult.os = USER_ENVIRONMENT.Excluded;
214        }
215        // Windows ME の処理
216        else if (ua.match(/Win(dows)? (9x 4\.90|ME)/)) {
217            vs = 'Windows ME';
218            checkResult.os = USER_ENVIRONMENT.Excluded;
219        }
220        // Windows 2000 の処理
221        else if (ua.match(/Win(dows )?(NT 5\.0|2000)/)) {
222            vs = 'Windows 2000';
223            checkResult.os = USER_ENVIRONMENT.Excluded;
224        }
225        // Windows 98 の処理
226        else if (ua.match(/Win(dows )?98/)) {
227            vs = 'Windows 98';
228            checkResult.os = USER_ENVIRONMENT.Excluded;
229        }
230        // Windows NT の処理
231        else if (ua.match(/Win(dows )?NT( 4\.0)?/)) {
232            vs = 'Windows NT';
233            checkResult.os = USER_ENVIRONMENT.Excluded;
234        }
235        // Windows 95 の処理
236        else if (ua.match(/Win(dows )?95/)) {
237            vs = 'Windows 95';
238            checkResult.os = USER_ENVIRONMENT.Excluded;
239        }
240        // Windows の処理
241        else if (ua.match(/Win(dows )?/)) {
242            vs = 'Windows';
243            checkResult.os = USER_ENVIRONMENT.Excluded;
244        }
245        // Macintosh の処理
246        else if (ua.match(/Macintosh|PPC/)) {
247            vs = 'Macintosh';
248            checkResult.os = USER_ENVIRONMENT.Both;
249        }
250        // BSD 系の処理
251        else if (ua.match(/(Free|Net|Open)BSD/)) {
252            vs = 'BSD';
253            checkResult.os = USER_ENVIRONMENT.Excluded;
254        }
255        // Solaris の処理
256        else if (ua.match(/SunOS/)) {
257            vs = 'Solaris';
258            checkResult.os = USER_ENVIRONMENT.Excluded;
259        }
260        // iPhone の処理
261        else if (ua.match(/iPhone/)) {
262            vs = 'iPhone';
263            checkResult.os = USER_ENVIRONMENT.Excluded;
264        }
265        // iPad の処理
266        else if (ua.match(/iPad/)) {
267            vs = 'iPad';
268            checkResult.os = USER_ENVIRONMENT.Html5;
269        }
270        // Android の処理
271        else if (ua.match(/Android/)) {
272            vs = 'Android';
273            checkResult.os = USER_ENVIRONMENT.Html5;
274        }
275        // Linux の処理
276        else if (ua.match(/Linux/)) {
277            vs = 'Linux';
278            checkResult.os = USER_ENVIRONMENT.Excluded;
279        }
280        // 上記以外 OS の処理
281        else {
282            vs = 'others';
283            checkResult.os = USER_ENVIRONMENT.Excluded;
284        }
285
286        return vs;
287    };
288
289    /**
290     * ブラウザ判定
291     */
292    var getBrowserInfo = function () {
293        var bs;
294        var version;
295        var browser;
296        var ua = navigator.userAgent;
297        var s = 0;
298        var e = 0;
299        var appVer = navigator.appVersion;
300        var uName = navigator.userAgent.toUpperCase();
301
302        var f = function (v) {
303            var b = parseFloat(v);
304            return isNaN(b) ? 0 : b;
305        };
306
307        //Opera
308        if (ua.match(/Opera[\/\s](\d\.\d+)/)) {
309            s = uName.indexOf('OPERA', 0) + 6;
310            e = uName.indexOf(' ', s);
311            //version = parseFloat(uName.substring(s, e));
312            version = f(uName.substring(s, e));
313            bs = 'Opera ' + RegExp.$1;
314            if (version < 9) browser = 0;
315            else if (version >= 9) browser = 2;
316            checkResult.browser = USER_ENVIRONMENT.NotRecommend;
317
318            userManual = MANUAL_TYPE.NONE;
319        }
320        //Internet Explorer
321        //開発者モードでドキュメントモードを"8"にするとJquery 2.1.4が対応していない為落ちる
322        else if (ua.match(/MSIE/) || ua.match(/Trident/)) {
323            if (ua.match(/MSIE (\d+\.\d+)/)) {
324                bs = 'Internet Explorer ' + RegExp.$1;
325                version = f(RegExp.$1);
326                if (version >= 9) checkResult.browser = USER_ENVIRONMENT.Both;
327                else if (version < 9 && version >= 8) checkResult.browser = USER_ENVIRONMENT.Flash;
328                else checkResult.browser = USER_ENVIRONMENT.NotRecommend;
329            } else if (ua.match(/rv:(\d+\.\d+)/)) {
330                bs = 'Internet Explorer ' + RegExp.$1;
331                checkResult.browser = USER_ENVIRONMENT.Both;
332            }
333            // ↓ JScriptヴァージョンの取得
334            if (typeof ScriptEngineMajorVersion) {
335
336                var smav = ScriptEngineMajorVersion();
337                var smiv = ScriptEngineMinorVersion();
338                var sv = smav + smiv / 10;
339
340                if (sv == 3) {
341                    // JScript3.0 用 --IE4.0
342                    browser = 3;
343                } else if (sv == 5) {
344                    // JScript5.0 用
345                    browser = 3;
346                } else if (sv == 5.1) {
347                    // JScript5.1 用
348                    browser = 3;
349                } else if (sv == 5.5) {
350                    //IE5.5 JScript5.5 用
351                    browser = 3;
352                } else if (sv >= 10.0) {
353                    // IE10.0 JScript10.0 用 以上
354                    browser = 2;
355                } else if (sv >= 5.6) {
356                    // IE6.0 JScript5.6 用 以上
357                    browser = 1;
358                } else {
359                    // 上記以外用
360                    browser = 1;
361                }
362            } else {
363                browser = 3;
364            }
365
366            userManual = MANUAL_TYPE.IE;
367        }
368        // Edge
369        else if (ua.match(/Edge\/([\.\d]+)/)) {
370            bs = 'Edge ' + RegExp.$1;
371            checkResult.browser = USER_ENVIRONMENT.Html5;
372
373            userManual = MANUAL_TYPE.Edge;
374        }
375        // Edge Chromium
376        else if (ua.match(/Edg\/([\.\d]+)/)) {
377            bs = 'Edge Chromium ' + RegExp.$1;
378            checkResult.browser = USER_ENVIRONMENT.Html5;
379
380            userManual = MANUAL_TYPE.ChromiumEdge;
381        }
382        // Netscape Communicator
383        else if (ua.match(/Mozilla\/(4\.[5678]\d?)/)) {
384            bs = 'Netscape Communicator ' + RegExp.$1;
385            browser = 3;
386            checkResult.browser = USER_ENVIRONMENT.NotRecommend;
387
388            userManual = MANUAL_TYPE.NONE;
389        }
390        // Netscape 6~
391        else if (ua.match(/Netscape6?\/([\.\d]+)/)) {
392            bs = 'Netscape ' + RegExp.$1;
393            version = f(RegExp.$1);
394            if (version < 7) browser = 3;
395            else if (version >= 7) browser = 3;
396            checkResult.browser = USER_ENVIRONMENT.NotRecommend;
397
398            userManual = MANUAL_TYPE.NONE;
399        }
400        // Opera(Blink)
401        else if (ua.match(/OPR\/([\.\d]+)/)) {
402            bs = 'Opera ' + RegExp.$1;
403            checkResult.browser = USER_ENVIRONMENT.NotRecommend;
404
405            userManual = MANUAL_TYPE.NONE;
406        }
407        // Google Chrome
408        else if (ua.match(/Chrome\/([\.\d]+)/)) {
409            bs = 'GoogleChrome ' + RegExp.$1;
410            checkResult.browser = USER_ENVIRONMENT.Html5;
411
412            userManual = MANUAL_TYPE.Chrome;
413        }
414        // Safari
415        else if (ua.match(/Safari\/([\.\d]+)/)) {
416            bs = 'Safari ' + RegExp.$1;
417            version = f(RegExp.$1);
418            if (version < 2) {
419                browser = 2;
420                checkResult.browser = USER_ENVIRONMENT.NotRecommend;
421            } else if (version >= 2) { 
422                browser = 3;
423                checkResult.browser = USER_ENVIRONMENT.Html5;
424            }
425
426            userManual = MANUAL_TYPE.Safari;
427        }
428        // Gecko Firefox etc
429        else if (ua.match(/Gecko/)) {
430            if (ua.match(/(Firebird|Firefox)\/([\.\d]+)/)) {
431                bs = 'Mozilla ' + RegExp.$1 + ' ' + RegExp.$2;
432                s = uName.indexOf('FIREFOX/', 0);
433                //version = parseFloat(uName.substring(s + 8, s + 8 + 3));
434                version = f(uName.substring(s + 8, s + 8 + 3));
435                if (version < 2) { 
436                    browser = 2;
437                } else if (version >= 2) { 
438                    browser = 3;
439                }
440                checkResult.browser = USER_ENVIRONMENT.NotRecommend;
441            }
442            else if (ua.match(/Thunderbird\/([\.\d]+)/)) {
443                bs = 'Mozilla Thunderbird ' + RegExp.$1;
444                browser = 3;
445                checkResult.browser = USER_ENVIRONMENT.NotRecommend;
446            }
447            else if (ua.match(/rv:([\.\d]+)/)) {
448                bs = 'Mozilla ' + RegExp.$1;
449                browser = 3;
450                checkResult.browser = USER_ENVIRONMENT.NotRecommend;
451            }
452            else {
453                bs = 'Mozilla';
454                browser = 3;
455                checkResult.browser = USER_ENVIRONMENT.NotRecommend;
456            }
457
458            userManual = MANUAL_TYPE.NONE;
459        }
460        // その他
461        else {
462            bs = 'N/A';
463            browser = 3;
464            checkResult.browser = USER_ENVIRONMENT.NotRecommend;
465
466            userManual = MANUAL_TYPE.NONE;
467        }
468
469        return bs;
470    };
471
472    /**
473     * ブラウザ別マニュアルリンクの取得
474     */
475    var createManualLink = function () {
476        var link = '';
477        var dir = './contents/manual/';
478        switch (userManual) {
479            case MANUAL_TYPE.IE:
480                link = dir + 'env_IE.pdf';
481                break;
482            case MANUAL_TYPE.Edge:
483                link = dir + 'env_Edge.pdf';
484                break;
485            case MANUAL_TYPE.Chrome:
486                link = dir + 'env_Chrome.pdf';
487                break;
488            case MANUAL_TYPE.iPad:
489                link = dir + 'env_iPad.pdf';
490                break;
491            case MANUAL_TYPE.Android:
492                link = dir + 'env_Android.pdf';
493                break;
494            case MANUAL_TYPE.ChromiumEdge:
495                link = dir + 'env_ChromiumEdge.pdf';
496                break;
497            //case MANUAL_TYPE.Safari:
498            //    link = dir + 'env_Safari.pdf';
499            //    break;
500            default:
501                link = '';
502        }
503        return link;
504    };
505
506    /**
507     * CANVAS判定
508     */
509    var getCanvas = function () {
510        var $canvasTest = $('#canvas-test');
511        checkResult.canvas = false;
512        $canvasTest.text('無効');
513        var _context = $canvasTest[0].getContext('2d');
514        _context.textAlign = 'center';
515        _context.textBaseline = 'middle';
516        _context.font = '12px "sans-serif"';
517        _context.fillText('有効', 25, 6)
518        checkResult.canvas = true;
519    };
520
521    /**
522     * 解像度判定
523     */
524    var getResolution = function () {
525        if (window.screen.width >= 1024 && window.screen.height >= 768) {
526            checkResult.resolution = true;
527        } else {
528            checkResult.resolution = false;
529        }
530    }
531
532    /**
533    * sessionStorage判定
534    */
535    var getSessionStorage = function () {
536        var rslt = '';
537        if (('sessionStorage' in window) && (window.sessionStorage !== null) && (window.localStorage !== null)) {
538            checkResult.storage = true;
539            rslt = '有効';
540        } else {
541            checkResult.storage = false;
542            rslt = '無効';
543        }
544        return rslt;
545    }
546
547    // ログインボタンクリック or Enter押下
548    $('#login-button').onClickAndEnter(function () {
549        // 入力値を取得
550        var id = $('#login-id').val();
551        var password = $('#password').val();
552
553        // オートコンプリート対応(IEのみ)
554        var ua = window.navigator.userAgent.toLowerCase();
555        if (ua.indexOf('msie') >= 0 || ua.indexOf('trident') >= 0) {
556            window.external.AutoCompleteSaveForm(document.getElementById('login-form-html5'));
557        }
558
559        // ログイン処理実行
560        executeLogin(id, password);
561    });
562
563    //================================================================================
564    var preliminaryCheck = function (id) {
565        var dfr = $.Deferred();
566
567        var req = { UserId: id };
568        var url = PROJECT_ROOT.Generic + '/Checker';
569
570        $.ajax(url, { data: req, type: 'POST' }).then(
571            function (data, textStatus, jqXHR) {
572                //Success
573                if (data.Status == -1) {
574                    dfr.reject(data, textStatus, "");
575                } else {
576                    dfr.resolve(data, textStatus, jqXHR);
577                }
578            },
579            function (jqXHR, textStatus, errorThrown) {
580                //Failed
581                dfr.reject(jqXHR, textStatus, errorThrown);
582            });
583        return dfr.promise();
584    };
585
586    //================================================================================
587    
588    // ログインボタンクリック  or Enter押下(Flash版)
589    $('#login-button-flash').onClickAndEnter(function (event) {
590
591        // 画面をローディング状態にする
592        loadingScreen();
593
594        //事前チェックの処理開始
595        preliminaryCheck($("input[name='userID']").val()).then(
596            function (data, textStatus, jqXHR) {
597                if (($.inArray('NEW', data.Result) != -1) && ($.inArray('OLD', data.Result) == -1)) {
598
599                    unLoadingScreen();
600
601                    $('#elm_confirm_ok').on('click', function (event) {
602                        $('#confirm_dialog').dialog("close");
603                    });
604
605                    $('#confirm_dialog').on('keydown', function (event) {
606                        if (event.keyCode === 13) {
607                            $('#elm_confirm_ok').trigger('click');
608                        }
609                    });
610
611                    // Preliminary check ======
612                    var content = $('#confirm_dialog_content');
613                    content.empty();
614                    content.append($('<h4></h4>').html('お客様の環境では、TAS-MAP(Flash版)はご利用出来ません。</br>新TAS-MAP(HTML5版)をご利用ください。'))
615
616                    $('#confirm_dialog').dialog(
617                        {
618                            resizable: false,
619                            modal: true,
620                            maxWidth: 955,
621                            width: 560,
622                            open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); $('#elm_confirm_ok').focus(); }
623                        });
624
625                } else {
626
627                    // SSL通信の場合はURL切り替え
628                    if ("https:" == document.location.protocol) {
629                        $('#login-form-flash').attr('action', '/new-tas-map-SSL/login.do');
630                    }
631
632                    // 送信
633                    $('#login-form-flash').submit();
634
635                }
636            },
637            function (jqXHR, textStatus, errorThrown) {
638
639                unLoadingScreen();
640
641                $('#elm_confirm_ok').on('click', function (event) {
642                    $('#confirm_dialog').dialog("close");
643                });
644
645                $('#confirm_dialog').on('keydown', function (event) {
646                    if (event.keyCode === 13) {
647                        $('#elm_confirm_ok').trigger('click');
648                    }
649                });
650
651                var content = $('#confirm_dialog_content');
652                content.empty();
653                content.append($('<h4></h4>').html('通信エラーが発生しました。</br>再度、ログイン操作をお願いいたします。'))
654
655                $('#confirm_dialog').dialog(
656                    {
657                        resizable: false,
658                        modal: true,
659                        maxWidth: 955,
660                        width: 560,
661                        open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); $('#elm_confirm_ok').focus(); }
662                    });
663
664            }).always(function ()
665            {
666                unLoadingScreen();
667            });
668
669    });
670
671    // SSLの切り替え
672    $('input[name=typeSsl]').on('change', function (event) {
673        if ($(this).val() === "0") {
674            // 非SSLでのログイン
675            if ("https:" == document.location.protocol) {
676                document.location.replace(
677                    document.location.href.replace(/https:/, 'http:')
678                );
679            }
680        } else {
681            // SSLでのログイン
682            if ("http:" == document.location.protocol) {
683                document.location.replace(
684                    document.location.href.replace(/http:/, 'https:')
685                );
686            }
687        }
688    });
689
690    // ご利用環境チェックの表示切替
691    var toggle = 0;
692    $('#button-environment-check').on('click', function () {
693        $('#container-environment-check').slideToggle('slow');
694        $('#button-environment-check img').toggleClass('activate');
695
696        toggle = 1 - toggle;
697        if (toggle) {
698
699            $('#user-os').text(getOSInfo());
700
701            var browserInfo = getBrowserInfo();
702            var manualLink = createManualLink();
703            $('#user-browser').text(browserInfo).append('<br />').append(manualLink ? $('<a />').attr({ 'href': manualLink, 'target': '_blank' }).text('ご利用ガイド').css('fontSize', 'large') : manualLink);
704
705            $('#user-agent').text(window.navigator.userAgent);
706            $('#user-js').text('有効');
707            $('#user-cookie').text(getCookieInfo());
708            $('#user-storage').text(getSessionStorage());
709            getCanvas();
710            getResolution();
711            $('#user-resol').text(window.screen.width + ' × ' + window.screen.height);
712
713            if (checkResult.cookie && checkResult.resolution) {
714                if (checkResult.os == USER_ENVIRONMENT.Both && checkResult.browser == USER_ENVIRONMENT.Both && checkResult.storage) {
715                    userEnvironment = USER_ENVIRONMENT.Both; // HTML5版とFlash版利用可
716                } else if (checkResult.os >= USER_ENVIRONMENT.Html5 && checkResult.browser >= USER_ENVIRONMENT.Html5 && checkResult.storage) {
717                    userEnvironment = USER_ENVIRONMENT.Html5; // HTML5版のみ利用可
718                } else if (checkResult.os >= USER_ENVIRONMENT.Flash && checkResult.browser >= USER_ENVIRONMENT.Flash && !checkResult.storage) {
719                    userEnvironment = USER_ENVIRONMENT.Flash; // Flash版のみ利用可
720                } else if (checkResult.os >= USER_ENVIRONMENT.NotRecommend && checkResult.browser >= USER_ENVIRONMENT.NotRecommend) {
721                    userEnvironment = USER_ENVIRONMENT.NotRecommend; //推奨環境外
722                } else {
723                    userEnvironment = USER_ENVIRONMENT.Excluded; // 対象外
724                }
725            } else {
726                userEnvironment = USER_ENVIRONMENT.Excluded; // 対象外
727            }
728
729            var ue;
730            switch (userEnvironment) {
731                case USER_ENVIRONMENT.Both:
732                    ue = '';
733                    break;
734                case USER_ENVIRONMENT.Html5:
735                    ue = '';
736                    break;
737                case USER_ENVIRONMENT.Flash:
738                    ue = '';
739                    break;
740                case USER_ENVIRONMENT.NotRecommend:
741                    ue = '推奨環境ではありません。';
742                    break;
743                case USER_ENVIRONMENT.Excluded:
744                    ue = '非対象の環境です。';
745                    break;
746                default:
747                    ue = '';
748            }
749            $('#user-environment').text(ue);
750
751        }
752    });
753    // ご利用環境"印刷する"ボタン
754    $('#button-print-check').on('click', function () { window.print(); });
755    // ご利用環境"メールするボタン" 
756    $('#button-mail-check').on('click', function () {
757        var osInfo = getOSInfo();
758        var browserInfo = getBrowserInfo();
759        var userAgent = window.navigator.userAgent;
760        var javaScript = '有効';
761        var cookie = getCookieInfo();
762        var canvas = (!!document.createElement('canvas').getContext) ? '有効' : '無効'
763        var resolution = window.screen.width + ' × ' + window.screen.height;
764        var storage = getSessionStorage();
765
766        var z = 'rt';
767        var y = 'ppo';
768        var x = 'su';
769        var v = x + y + z + '@' + 't';
770        var w = v + 'as-japa';
771        var p = w + 'n.c';
772        var q = p + 'om';
773
774        var m = '■あなたのパソコンのチェック結果%0D%0A%0D%0A'
775                + 'OS:' + osInfo + '%0D%0A'
776                + 'Webブラウザ:' + browserInfo + '%0D%0A'
777                + 'UserAgent(ユーザーエージェント):' + userAgent + '%0D%0A'
778                + 'JavaScript(ジャバスクリプト):' + javaScript + '%0D%0A'
779                + 'cookie(クッキー):' + cookie + '%0D%0A'
780                + 'CANVAS(キャンバス):' + canvas + '%0D%0A'
781                + '画面解像度:' + resolution + '%0D%0A'
782                + 'WebStorage:' + storage;
783
784        var ot = 'ilto';
785        var ia = 'ma';
786
787        var ej = 'bject';
788        var us = 'su';
789
790        var yd = 'ody';
791        var ob = 'b';
792
793        location.href = ia + ot + ':' + q + '?' + us + ej + '=ご利用環境チェック結果&' + ob + yd + '=' + m;
794    });
795
796    // SessionStorageをクリアする
797    sessionStorage.clear();
798
799    // SSL状態をチェック
800    checkSsl();
801});

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.