PageSourceSearch

https://www.gakujo.ne.jp/campus/new/student/common/js/gj.recommend…ODbM2wpgtk7TVsMChJhDbOUxIq_9BE4sw0VVEsxnJ9E

js gakujo.ne.jp collected 2026-09-24 17:50:47 UTC 51,597 bytes, 1,131 lines download raw bytes

1var jizen = false;
2$(function () {
3
4    /* ページごとの送信電文を作成 */
5    var apppath = $("#hdnAppPath").val();
6    var strPgName = getPgName(apppath, location.pathname);
7    var newDesign = "0";
8
9    switch (strPgName) {
10        case "index":
11            //トップページ
12            var divName = "rcmSecTop";
13            break;
14        case "cmp_baseinfo":
15            //企業情報
16            var divName = "rcmSection";
17            newDesign = "2"
18            break;
19        case "cmp_employ":
20            //インターンシップ情報
21            var divName = "rcmSection";
22            newDesign = "2"
23            break;
24        case "sch_result":
25            //検索結果一覧
26            var divName = "rcmSecRst0";
27            break;
28
29        case "ent_end":
30        case "ent_smn_end":
31        case "ent_evt_end":
32            //エントリー完了、セミナーエントリー完了
33            var divName = "rcmSecEntEndNew";
34            newDesign = "2"
35            break;
36
37        case "lst_list":
38        case "entry_list":
39        case "fav_list":
40        case "evt_list":
41            //マイリスト
42            var divName = "rcmSecMyList";
43            newDesign = "1"
44            break;
45
46        case "lst_detail":
47            //マイリスト
48            var divName = "rcmSecMyList";
49            newDesign = "1"
50            break;
51
52        case "lst_draft":
53            //ドラフト
54            var divName = "rcmSecMyList";
55            newDesign = "2"
56            break;
57
58        case "reg_newend":
59            //新規登録完了
60            var divName = "rcmSecEnqEnd";
61            break;
62
63        case "lst_regist":
64            //フォロー完了
65            var divName = "rcmLstRgst";
66            break;
67
68        default:
69            var divName = "rcmSection";
70            break;
71
72    }
73
74    //一度表示エリアを非表示に
75    $("#" + divName).hide();
76
77    if ($("#hdnRcmDmin").length === 0 || $("#hdnDevType").length === 0) {
78        return;
79    }
80    var rcmDmin = $("#hdnRcmDmin").val().split(",");
81    var setParm = $("#hdnDevType").val().split(",");
82    var strHttp = location.href.slice(0, location.href.indexOf("//") + 2);
83    var addDivNm = "#recmnd_addarea";
84    var devtype = setParm[0].slice(0, 2);
85    var exeFlg = false;
86
87    switch (strPgName) {
88        case "cmp_baseinfo":
89            var prodId = "&prod=" + getKokId2();
90            var imgPath = "../image/"
91            var bdrCnt = 99;
92            if ($("#hdnPrevMode").val() == "PREVIEW") {
93                var exeFlg = false;
94            } else {
95                var exeFlg = true;
96            }
97            break;
98
99        case "cmp_employ":
100            var prodId = "&prod=" + getKokId();
101            var imgPath = "../image/"
102            var bdrCnt = 99;
103            if ($("#hdnPrevMode").val() == "PREVIEW") {
104                var exeFlg = false;
105            } else {
106                var exeFlg = true;
107            }
108            break;
109
110        case "sch_result":
111
112            //検索結果の有無
113            if (devtype == "pc") {
114                var schRes = true
115                if ($(".sch_result_result_1").length == 0) {
116                    schRes = false
117                    var addDivNm = "#recmnd_addarea_err";
118                } else {
119
120                    //return false;
121                }
122            } else {
123                if ($(".search_result_detail").length == 0) {
124                    var addDivNm = "#recmnd_addarea_err";
125                }
126            }
127
128            var prodId = "";
129            var imgPath = "../image/"
130            if (devtype == "pc") {
131                var bdrCnt = 3;
132                if (schRes === false) {
133                    var bdrCnt = 4;
134                }
135            } else {
136                var bdrCnt = 99;
137            }
138
139            if ($("#hdnRcmDmin").val() == "") {
140                return false;
141            }
142
143            break;
144
145        case "ent_end":
146        case "ent_smn_end":
147        case "ent_evt_end":
148            var comCd = $("#hdnComCd").val();
149            var comCdDisp = $("#hdnComCdDisp").val();
150            var comcdList = comCd.split(",")
151            var bdrCnt = 4;
152            var divName = "rcmSecEntEndNew";
153            var imgPath = "../image/"
154            //下4ケタが5101なら案件エントリー、2ならイベントまたはセミナーエントリー
155            if (setParm[0].slice(-4) == '5101') {
156                //エントリー完了企業のデータをレコメンドサーバに送信する。
157                for (i = 0; i < comcdList.length; i++) {
158                    var prodId = "&prod=" + comcdList[i];
159                    if (comcdList[i] != '') {
160                        sndEntEndUrl(rcmDmin[0], setParm[0].slice(0, 1), strHttp);
161                    }
162                }
163                //レコメンド表示
164                var prodId = "&prod=" + comCdDisp;
165                if (comCdDisp != '') {
166                    sndEntEndUrl(rcmDmin[0], setParm[0].slice(0, 1), strHttp);
167                    exeFlg = true
168                } else {
169                    exeFlg = false
170                }
171
172            } else {
173                var prodId = ""
174                var exeFlg = true;
175                var imgPath = "../image/"
176            }
177            break;
178
179        case "lst_list":
180        case "entry_list":
181        case "fav_list":
182        case "evt_list":
183            var comCdList = $("#hdnComCdList").val();
184            var imgPath = "../image/"
185            if (comCdList != "") {
186                var prodId = mkProdList(comCdList);
187                var bdrCnt = 99;
188                var exeFlg = true;
189            } else {
190                var prodId = ""
191                var bdrCnt = 99;
192                var exeFlg = false;
193            }
194            break;
195
196        case "lst_detail":
197            var comCdList = $("#hdnComCd").val();
198            if (comCdList != "") {
199                var prodId = mkProdList(comCdList);
200                var bdrCnt = 99;
201                var exeFlg = true;
202            } else {
203                var prodId = ""
204                var bdrCnt = 99;
205                var exeFlg = false;
206            }
207            break;
208
209        case "lst_draft":
210            var comCdList = $("#hdnComCdList").val();
211            var imgPath = "../image/"
212            if (comCdList != "") {
213                var prodId = mkProdList(comCdList);
214                var bdrCnt = 99;
215                var exeFlg = true;
216            } else {
217                var prodId = ""
218                var bdrCnt = 99;
219                var exeFlg = true;
220            }
221            break;
222
223        case "reg_newend":
224            var prodId = "";
225            var exeFlg = false;
226            var imgPath = "../image/"
227            if (devtype == "pc") {
228                var bdrCnt = 4;
229            } else {
230                var bdrCnt = 99;
231                if (setParm == "") {
232                    exeFlg = false;
233                }
234            }
235            break;
236
237        case "lst_regist":
238            var prodId = "&prod=" + getKokId();
239            var imgPath = "../image/"
240            if (devtype == "pc") {
241                var bdrCnt = 4;
242            } else {
243                var bdrCnt = 99;
244            }
245            var exeFlg = true;
246            break;
247
248        default:
249            var divName = "rcmSection";
250            exeFlg = false;
251            break;
252    }
253
254
255    if (exeFlg == true) {
256
257        var sndUrl = "";
258        if (
259            setParm[0] == "pc1014"
260            || setParm[0] == "sp1014"
261        ) {
262            sndUrl = strHttp + rcmDmin[0] + "/pycre5/jsonp/recommend?merch=gakujo26" + "&spec=" + setParm[0] + "&num=" + setParm[1] + "&cookie=" + setParm[2];
263        } else {
264            sndUrl = strHttp + rcmDmin[0] + "/pycre5/jsonp/recommend?merch=gakujo26" + prodId + "&spec=" + setParm[0] + "&num=" + setParm[1] + "&cookie=" + setParm[2];
265        }
266
267        //事前エントリーチェック
268        if ($("#hdnIsEntRes").val() != "") {
269            jizen = true;
270        }
271
272        // 表示エリアがないときreturn
273        if (!document.getElementById(divName)) {
274            return false;
275        }
276
277        /* ロード時のレコメンド受信処理 */
278        /* レコメンドデータ受信 */
279        $.ajax({
280            type: 'GET',
281            url: sndUrl,
282            dataType: 'jsonp',
283            cache: true,
284            contentType: 'application/JSON',
285            scriptCharset: 'utf-8',
286            jsonp: "callback",
287            jsonpCallback: 'getreccomend',
288            success: function (json) {
289                if (json.items.length != 0) {
290                    $("#" + divName).show();
291                    //リクエストIDを取得
292                    var strReqID = json.rqid;
293                    //受信データでHTMLを作成
294                    var addHtml = "";
295                    switch (strPgName) {
296                        case "cmp_baseinfo":
297                        case "cmp_employ":
298                        case "lst_draft":
299                        case "ent_end":
300                        case "ent_smn_end":
301                        case "ent_evt_end":
302                            addHtml = mkHtmlNew(json.items, strReqID, bdrCnt, devtype, imgPath, strPgName, newDesign);
303                            break;
304                        default:
305                            addHtml = mkHtml(json.items, strReqID, bdrCnt, devtype, imgPath, strPgName, newDesign);
306                            break;
307                    }
308                    $(addDivNm).html(addHtml);
309                    if ($(".rcmLink").length) {
310                        $(".rcmLink").on("click", function (e) { e.preventDefault(); });
311                    }
312                    if (strPgName == "sch_result" && devtype != "pc") {
313                        if (location.href.indexOf('#error') == -1) {
314                            //0件以外の場合
315                            orgSlider();
316                        }
317                    }
318                    //新デザイン
319                    if (newDesign == "2") {
320                        //マイページ系デザインの場合は高さ調整を行う
321                        for (i = 0; i < 10000; i++) {
322                            if ($('#recmnd_addarea .sep-text').length > 0) {
323                                var max_ih; //画像の読み込み遅延が発生した場合等でも、企業プロフィール画像の表示を担保する
324                                if (devtype == "pc") {
325                                    if (strPgName == "cmp_baseinfo" || strPgName == "cmp_employ") {
326                                        max_ih = 135;
327                                    } else {
328                                        max_ih = 195;
329                                    }
330                                } else {
331                                    max_ih = 75;
332                                }
333                                //SP版でエントリーボタンと企業一言PRが被ってしまう為、高さを調整する(企業一言PR3行相当)
334                                var max_dh;
335                                if (devtype == "pc") {
336                                    max_dh = 0;  //PC版は調整無し
337                                } else {
338                                    max_dh = max_ih + 65; //画像の高さも考慮
339                                }
340                                $('#recmnd_addarea .sep-text').each(function (i, e) {
341                                    var _ih = $(this).find(".sep-photo").innerHeight();
342                                    var _dh = $(this).find(".sep-text__title").innerHeight();
343                                    if (_ih > max_ih) { max_ih = _ih }
344                                    if (devtype == "pc") {
345                                        if (_dh > max_dh) { max_dh = _dh }
346                                    } else {
347                                        $(e).find(".sep-text__title").css("height", _dh + "px");
348                                    }
349                                });
350                                break;
351                            }
352                        }
353                        $('#recmnd_addarea .sep-text').find(".sep-photo").css("height", max_ih + "px");
354                        if (devtype == "pc") {
355                            $('#recmnd_addarea .sep-text').find(".sep-text__title").css("height", max_dh + "px");
356                        }
357
358                        // 編集部オススメ企業のデザインの場合は別途高さ調整を行う
359                        for (i = 0; i < 10000; i++) {
360                            if ($('#recmnd_addarea_editors .sep-text').length > 0) {
361                                var max_ih;
362                                var max_dh = 0;
363                                if (devtype == "pc") {
364                                    if (strPgName == "cmp_baseinfo" || strPgName == "cmp_employ") {
365                                        max_ih = 135;
366                                    } else {
367                                        max_ih = 195;
368                                    }
369                                } else {
370                                    max_ih = 75;
371                                }
372                                $('#recmnd_addarea_editors .sep-text').each(function (i, e) {
373                                    var _ih = $(this).find(".sep-photo").innerHeight();
374                                    var _dh = 0;
375                                    $(e).find(".sep-text__title").children().each(function() {
376                                        _dh += $(this).outerHeight(true);
377                                    });
378                                    // sep-photoのheight調整
379                                    if (_ih > max_ih) { max_ih = _ih }
380                                    $(e).find(".sep-photo").css("height", max_ih + "px");
381
382                                    // sep-text__titleのheight調整
383                                    if (_dh > max_dh) { max_dh = _dh }
384                                    $(e).find(".sep-text__title").css("height", max_dh + "px");
385                                });
386                                break;
387                            }
388                        }
389                        $('#recmnd_addarea_editors .sep-text').find(".sep-photo").css("height", max_ih + "px");
390                        if (devtype == "pc") {
391                            $('#recmnd_addarea_editors .sep-text').find(".sep-text__title").css("height", max_dh + "px");
392                        }
393                    }
394                    if (newDesign == "1") {
395                        //マイページ系デザインの場合は高さ調整を行う
396                        for (i = 0; i < 10000; i++) {
397                            if ($('.js-height-container li').length > 0) {
398                                var max_ih;
398 //画像の読み込み遅延が発生した場合等でも、企業プロフィール画像の表示を担保する
399                                if (devtype == "pc") {
400                                    max_ih = 195;
401                                } else {
402                                    max_ih = 75;
403                                }
404                                //SP版でエントリーボタンと企業一言PRが被ってしまう為、高さを調整する(企業一言PR3行相当)
405                                var max_dh;
406                                if (devtype == "pc") {
407                                    max_dh = 0;  //PC版は調整無し
408                                } else {
409                                    max_dh = max_ih + 65; //画像の高さも考慮
410                                }
411                                $('.js-height-container li').each(function () {
412                                    var _ih = $(this).find(".spr-recommend_img").innerHeight();
413                                    var _dh = $(this).find(".js-height-item").innerHeight();
414                                    if (_ih > max_ih) { max_ih = _ih }
415                                    if (_dh > max_dh) { max_dh = _dh }
416                                });
417                                break;
418                            }
419                        }
420                        $('.js-height-container li').find(".spr-recommend_img").css("height", max_ih + "px");
421                        $('.js-height-container li').find(".js-height-item").css("height", max_dh + "px");
422                    }
423                } else {
424                    $("#" + divName).css("display", "none");
425                }
426
427            },
428            error: function (json, textStatus, errorThrown) {
429            }
430        });
431    }
432
433
434    var jquery_v = $.fn.jquery;
435    /* ウインドウのオープンとクリック通知送信 */
436    $(document).on('click', '.rcmLink', function () {
437        exeLink($(this).attr("id").slice(-2));
438        return false;
439    });
440    $(document).on('click', '.leftArrowReco', function () {
441        $("#recEvent").val(1)
442        $("#recShowRl").val(2);
443        TouchLeave();
444    });
445    $(document).on('click', '.rigthArrowReco', function () {
446        $("#recEvent").val(1)
447        $("#recShowRl").val(1);
448        TouchLeave();
449    });
450
451
452
453    $(addDivNm).on("touchstart", TouchStart);
454    $(addDivNm).on("touchmove", TouchMove);
455    $(addDivNm).on("touchend", TouchLeave);
456
457
458
459
460    /*----------------------------------------------------------------------------------
461    * レコメンドのHTMLを作成
462    * @param rcvItems 受信データのitems分
463    * @param strReqID 受信データのリクエストID
464    * @param bdrCnt  ページ上の区切り線を入れるレコード番号
465    * @param devtype  デバイスタイプ
466    * @return addHtmlStr 作成したHTML
467    ----------------------------------------------------------------------------------*/
468    function mkHtml(rcvItems, strReqID, bdrCnt, devtype, imgPath, strPgName, newDesign) {
469        var addHtmlStr;
470        if (newDesign == "1") {
471            var strHtml = "";
472            var endHtml = "";
473            var cotHtml = "";
474            strHtml = strHtml + "   <input id=\"reqId\" name=\"reqId\" value=\"【%%%REQID%%%】\"  type=\"hidden\" />"
475            strHtml = strHtml + "   <div class=\"spr-label_box_text\">";
476            strHtml = strHtml + "       <ul class=\"spr-recommend_container clearfix js-height-container\">";
477
478            strHtml = strHtml.replace(/【%%%REQID%%%】/g, strReqID);
479            for (i = 0; i < rcvItems.length; i++) {
480                var kokHtml = setKokData(setMypageHtml(i,strPgName), rcvItems[i]);
481                cotHtml = cotHtml + kokHtml;
482            }
483
484            endHtml = endHtml + "     </ul>";
485            endHtml = endHtml + "   </div>";
486            addHtmlStr = strHtml + cotHtml + endHtml;
487        }
488        else if (devtype == "pc") {
489            //PCの場合
490            addHtmlStr = setStartHtml();
491            addHtmlStr = addHtmlStr.replace(/【%%%REQID%%%】/g, strReqID);
492
493            for (i = 0; i < rcvItems.length; i++) {
494                if (i == bdrCnt) {
495                    addHtmlStr = addHtmlStr + setBoderHtml(bdrCnt, imgPath);
496                };
497                if (strPgName == "sch_result") {
498                    var kokHtml = setKokData(setSrhHtml(i), rcvItems[i]);
499                } else {
500                    var kokHtml = setKokData(setKokHtml(i), rcvItems[i]);
501                }
502
503                addHtmlStr = addHtmlStr + kokHtml;
504            }
505
506            addHtmlStr = addHtmlStr + setEndHtml();
507
508        } else {
509            //SPの場合
510            if (strPgName == "sch_result") {
511                if (location.href.indexOf('#error') != -1) {
512                    //結果0件の場合
513                    addHtmlStr = setHtmlforSp(rcvItems);
514                } else {
515                    addHtmlStr = setHtmlforSrhSp(rcvItems);
516                }
517            } else {
518                addHtmlStr = setHtmlforSp(rcvItems);
519            }
520            addHtmlStr = addHtmlStr.replace(/【%%%REQID%%%】/g, strReqID);
521        }
522        return addHtmlStr;
523    };
524
525    /*----------------------------------------------------------------------------------
526    * レコメンドのHTMLを作成NEW
527    * @param rcvItems 受信データのitems分
528    * @param strReqID 受信データのリクエストID
529    * @param bdrCnt  ページ上の区切り線を入れるレコード番号
530    * @param devtype  デバイスタイプ
531    * @return addHtmlStr 作成したHTML
532    ----------------------------------------------------------------------------------*/
533    function mkHtmlNew(rcvItems, strReqID, bdrCnt, devtype, imgPath, strPgName, newDesign) {
534        var addHtmlStr;
535        var strHtml = "";
536        var endHtml = "   <input id=\"reqId\" name=\"reqId\" value=\"【%%%REQID%%%】\" style=\"\"  type=\"hidden\" />";
537        var cotHtml = "";
538        endHtml = endHtml.replace(/【%%%REQID%%%】/g, strReqID);
539        for (i = 0; i < rcvItems.length; i++) {
540            var kokHtml = setKokData(setNewRecoHtml(i), rcvItems[i]);
541            cotHtml = cotHtml + kokHtml;
542        }
543        addHtmlStr = strHtml + cotHtml + endHtml;
544        if (strPgName == "cmp_baseinfo" || strPgName == "cmp_employ") {
545            addHtmlStr = addHtmlStr.replace(/recmendimg/g, "recmendimg recmendimgOg");
546        }
547        return addHtmlStr;
548    };
549
550    function orgSlider() {
551        var _cnt = 0
552        var _len = (".recDisplay").length;
553        $(".recDisplay").each(function (i) {
554            if (_cnt == 0) {
555                $(this).show();
556                $("#recShowNumber").val(0);
557                if (_len > 0) {
558
559                }
560            } else {
561                $(this).hide();
562            }
563            _cnt = Number(_cnt) + 1;
564        });
565    }
566
567    /*
568    * タップした位置をメモリーする
569    */
570    function TouchStart(event) {
571        var pos = Position(event);
572        $(addDivNm).data("memory", pos.x);
573    }
574    function TouchLeave(event) {
575        var bfo = $("#recShowNumber").val();
576        var _key = $("#recShowNumber").val();
577        var _flg = $("#recShowRl").val();
578        if ($("#recEvent").val() == 0) {
579            return true;
580        }
581        if (_flg == 1 || _flg == 2) {
582            if (_flg == 1) {
583                //左に移動
584                _key = Number(_key) + 1
585            }
586            else if (_flg == 2) {
587                //右に移動
588                _key = Number(_key) - 1
589            }
590            var cnt = $(".recDisplay").length;
591            if (_key < 0) {
592                $("#recEvent").val(0);
593                return false;
594            }
595            if (_key >= cnt) {
596                $("#recEvent").val(0);
597                return false;
598            }
599            $("#recoShowID_" + bfo).hide();
600            $("#recoShowID_" + _key).show();
601            $("#recShowNumber").val(_key);
602            $("#recEvent").val(0);
603        }
604    }
605    function TouchMove(event) {
606        var pos = Position(event); //X,Yを得る
607        var _key = $("#recShowNumber").val();
608        var _flg = 0;
609
610        if (pos.x < $(addDivNm).data("memory")) {
611            _flg = 1; //左に移動
612            _key = Number(_key) + 1
613        }
614        else if (pos.x > $(addDivNm).data("memory")) {
615            _flg = 2; //右に移動
616            _key = Number(_key) - 1
617        }
618        else {
619            _flg = 3; //処理なし
620            _key = Number(_key)
621        }
622        $("#recEvent").val(1)
623        $("#recShowRl").val(_flg);
624    }
625    /*
626    * 現在位置を得る
627    */
628    function Position(e) {
629        var x = e.originalEvent.touches[0].pageX;
630        var y = e.originalEvent.touches[0].pageY;
631        x = Math.floor(x);
632        y = Math.floor(y);
633        var pos = { 'x': x, 'y': y };
634        return pos;
635    }
636
637
638    /*----------------------------------------------------------------------------------
639    * レコメンドのHTMLの先頭部分を作成
640    * @return strHtml 作成したHTML
641    ----------------------------------------------------------------------------------*/
642    function setStartHtml() {
643        var strHtml = "";
644        strHtml = strHtml + "           <input id=\"reqId\" name=\"reqId\" value=\"【%%%REQID%%%】\"  type=\"hidden\" />"
645        strHtml = strHtml + "           <table class=\"indexRcmTbl\" summary=\"Layout\">";
646        strHtml = strHtml + "               <tbody >";
647        strHtml = strHtml + "                <tr>";
648        return strHtml;
649    };
650
651    /*----------------------------------------------------------------------------------
652    * レコメンドの顧客別のHTMLを作成
653    * @param kokNo 顧客番号(表示順)
654    * @return addHtmlStr 作成したHTML
655    ----------------------------------------------------------------------------------*/
656    function setKokHtml(kokNo) {
657        var strHtml = "";
658        strHtml = strHtml + "        <td class=\"rcmTblBlkSize\">";
659        strHtml = strHtml + "            <div class=\"rcmKokSize\">";
660        strHtml = strHtml + "                <p class=\"rcmKokImg\">";
661        strHtml = strHtml + "                    <a ID=\"imgLink" + ("00" + kokNo).slice(-2) + "\" class=\"rcmLink\" target=\"_blank\" href='【%%%顧客URL%%%】'> ";
662        strHtml = strHtml + "                    <img border=\"0\"  src=\"【%%%画像Src%%%】\" class=\"rcmKokImgSize recmendimg\"/></a>";
663        strHtml = strHtml + "                </p>";
664        strHtml = strHtml + "                <p class=\"rcmTitle\" >";
665        strHtml = strHtml + "                    <a ID=\"nmLink" + ("00" + kokNo).slice(-2) + "\" class=\"rcmLink\" href=\"【%%%顧客URL%%%】\" target=\"_blank\" style=\"text-decoration:none\">【%%%顧客名%%%】</a>";
666        strHtml = strHtml + "                    <input id=\"kokId" + ("00" + kokNo).slice(-2) + "\" name=\"kokId" + i + "\" value=\"【%%%顧客ID%%%】\"  type=\"hidden\" />"
667        strHtml = strHtml + "                </p>";
668        strHtml = strHtml + "                    <h5 class=\"rcmKindH5\">";
669        strHtml = strHtml + "                    【%%%業種名%%%】";
670        strHtml = strHtml + "                    </h5>";
671        strHtml = strHtml + "                <p  class=\"rcmCmtWidth\" style= \"word-break: break-all;\">";
672        strHtml = strHtml + "                【%%%ひと言%%%】";
673        strHtml = strHtml + "                </p>";
674        strHtml = strHtml + "            </div>";
675        strHtml = strHtml + "        </td>";
676        return strHtml;
677    };
678
679    /* 検索結果画面のレコメンド */
680    function setSrhHtml(kokNo) {
681        var strHtml = "";
682        strHtml = strHtml + "        <td class=\"rcmTblBlkSize\">";
683        strHtml = strHtml + "            <div class=\"rcmKokSize\">";
684        strHtml = strHtml + "                <p class=\"rcmKokImg\">";
685        strHtml = strHtml + "                    <a ID=\"imgLink" + ("00" + kokNo).slice(-2) + "\" class=\"rcmLink\" target=\"_blank\" href='【%%%顧客URL%%%】'> ";
686        strHtml = strHtml + "                    <img border=\"0\"  src=\"【%%%画像Src%%%】\" class=\"rcmKokImgSize recmendimg\"/></a>";
687        strHtml = strHtml + "                </p>";
688        strHtml = strHtml + "                <p class=\"rcmTitle\" >";
689        strHtml = strHtml + "                    <a ID=\"nmLink" + ("00" + kokNo).slice(-2) + "\" class=\"rcmLink\" href=\"【%%%顧客URL%%%】\" target=\"_blank\" style=\"text-decoration:none\">【%%%顧客名%%%】</a>";
690        strHtml = strHtml + "                    <input id=\"kokId" + ("00" + kokNo).slice(-2) + "\" name=\"kokId" + i + "\" value=\"【%%%顧客ID%%%】\"  type=\"hidden\" />"
691        strHtml = strHtml + "                </p>";
692        strHtml = strHtml + "                <p class=\"rcmNaviOnly\">【%%%Re就活キャンパス限定%%%】</p>";
693        strHtml = strHtml + "                <p class=\"rcmHonSya\">本社:【%%%本社%%%】</p>";
694        strHtml = strHtml + "                    <h5 class=\"rcmKindH5\">";
695        strHtml = strHtml + "                    【%%%業種名%%%】";
696        strHtml = strHtml + "                    </h5>";
697        strHtml = strHtml + "                <p  class=\"rcmCmtWidth\" style= \"
697word-break: break-all;\">";
698        strHtml = strHtml + "                【%%%ひと言%%%】";
699        strHtml = strHtml + "                </p>";
700        strHtml = strHtml + "            </div>";
701        strHtml = strHtml + "        </td>";
702        return strHtml;
703    };
704
705    /* レスポンシブ用レコメンド(マイページ用) */
706    function setMypageHtml(kokNo,strPgName) {
707        /*6月エントリー*/
708        var jizenJune = $("input[id$='hdnJizenJune']").val();
709        var strHtml = "";
710        strHtml = strHtml + "  <li class=\"li-bottom-margin\">";
711        strHtml = strHtml + "   <a href=\"【%%%顧客URL%%%】\" class=\"spr-recommend_img rcmLink\" ID=\"nmLink" + ("00" + kokNo).slice(-2) + "\">";
712        strHtml = strHtml + "       <img src=\"【%%%画像Src%%%】\" alt=\"\" class=\"recmendimg\" />";
713        strHtml = strHtml + "   </a>";
714        strHtml = strHtml + "   <div class=\"spr-recommend_inner js-height-item\">";
715        strHtml = strHtml + "       <a href=\"【%%%顧客URL%%%】\" class=\"spr-text_link spr-text_link--l rcmLink\" ID=\"nmLink" + ("00" + kokNo).slice(-2) + "\">【%%%顧客名%%%】</a>";
716        strHtml = strHtml + "       <p><strong>【%%%業種名%%%】</strong></p>";
717        strHtml = strHtml + "       <p class=\"spr-recommend_text\" style= \"word-break: break-all;\">【%%%ひと言%%%】</p>";
718        strHtml = strHtml + "       <input id=\"kokId" + ("00" + kokNo).slice(-2) + "\" name=\"kokId" + i + "\" value=\"【%%%顧客ID%%%】\"  type=\"hidden\" />"
719        strHtml = strHtml + "   </div>";
720        if (strPgName == "evt_list" || strPgName == "lst_detail" || strPgName == "entry_list" || strPgName == "fav_list") {
721            strHtml = strHtml + "   <a href=\"../company/baseinfo/【%%%顧客ID%%%】/\" target=\"_blank\" class=\"spr-btn_entry\">";
722            strHtml = strHtml + "       <span>企業情報へ</span>";
723            strHtml = strHtml + "   </a>";
724        } else {
725            strHtml = strHtml + "   <a href=\"../company/cmp_entry?p1=【%%%顧客ID%%%】\" target=\"_blank\" class=\"spr-btn_entry\">";
726            strHtml = strHtml + "       <span>エントリー</span>";
727            strHtml = strHtml + "   </a>";
728        }
729        strHtml = strHtml + "  </li>";
730        return strHtml;
731    };
732
733    function setNewRecoHtml(kokNo) {
734        var strHtml = "";
735        strHtml = strHtml + "<div class=\"sep-text\">"
736        strHtml = strHtml + "    <div class=\"sep-text__inner\" >"
737        strHtml = strHtml + "        <div class=\"sep-photo\"><a href=\"【%%%顧客URL%%%】\" ID=\"imgLink" + ("00" + kokNo).slice(-2) + "\" class=\"rcmLink\"><img src=\"【%%%画像Src%%%】\" alt=\"\" class=\"recmendimg\"></a></div>"
738        strHtml = strHtml + "        <div class='sep-text__title'>"
739        strHtml = strHtml + "        <a href=\"【%%%顧客URL%%%】\" ID=\"nmLink" + ("00" + kokNo).slice(-2) + "\" class=\"rcmLink\">【%%%顧客名%%%】</a>"
740        strHtml = strHtml + "            <b>【%%%業種名%%%】</b>"
741        strHtml = strHtml + "        <p class=\"pc\" style= \"word-break: break-all;\">【%%%ひと言%%%】</p>"
742        strHtml = strHtml + "        <input id=\"kokId" + ("00" + kokNo).slice(-2) + "\" name=\"kokId" + i + "\" value=\"【%%%顧客ID%%%】\"  type=\"hidden\" />"
743        strHtml = strHtml + "        </div>"
744        strHtml = strHtml + "        <p class=\"sp\" style= \"word-break: break-all;\">【%%%ひと言%%%】</p>"
745        strHtml = strHtml + "    </div>"
746        if (jizen == false) {
747            strHtml = strHtml + "    <div class=\"sep__button\">"
748            strHtml = strHtml + "        <a data-favcom=\"【%%%顧客ID%%%】\" class=\"btn icon follow bln_wrap rcm is-full\" onclick=\"Javascript:favClick(this); return false;\">"
749            strHtml = strHtml + "            <svg><use xlink:href=\"#icon_favorite\"></use></svg>"
750            strHtml = strHtml + "            <span class=\"label\">気になる</span>"
751            strHtml = strHtml + "            <div class=\"bln pc\">"
752            strHtml = strHtml + "                <div class=\"bln_inner\">"
753            strHtml = strHtml + "                  「気になる企業リスト」に保存できます。あなたが「気になる」をしたことは企業にも通知されるため、スカウトが届く可能性が上がります。<br>"
754            strHtml = strHtml + "                    ※氏名や住所等の個人情報はエントリーしない限り企業に通知されません。"
755            strHtml = strHtml + "                </div>"
756            strHtml = strHtml + "            </div>"
757            strHtml = strHtml + "        </a>"
758            strHtml = strHtml + "    </div>"
759        }
760        strHtml = strHtml + "</div>"
761        return strHtml;
762    };
763
764    /*----------------------------------------------------------------------------------
765    * レコメンドのHTMLの罫線部分を作成
766    * @return strHtml 作成したHTML
767    ----------------------------------------------------------------------------------*/
768    function setBoderHtml(bdrCnt, imgPath) {
769        var strHtml = "";
770        strHtml = strHtml + "        </tr>";
771        strHtml = strHtml + "        <tr>";
772        strHtml = strHtml + "            <td class='rcmBoderSize' colspan='" + bdrCnt + "' width='98%'>";
773        strHtml = strHtml + "                <img class='rcmBoderStyle' src='" + imgPath + "spacer.gif' alt='' height='10' />";
774        strHtml = strHtml + "            </td>";
775        strHtml = strHtml + "        </tr>";
776        strHtml = strHtml + "        <tr>";
777        strHtml = strHtml + "            <td  class='rcmBoderSize' colspan='" + bdrCnt + "' width='98%'>";
778        strHtml = strHtml + "                <img src='" + imgPath + "spacer.gif' alt='' height='10' />";
779        strHtml = strHtml + "            </td>";
780        strHtml = strHtml + "        </tr>";
781        strHtml = strHtml + "        <tr>";
782        return strHtml;
783    };
784
785    /*----------------------------------------------------------------------------------
786    * レコメンドのHTMLの終了部分を作成
787    * @return strHtml 作成したHTML
788    ----------------------------------------------------------------------------------*/
789    function setEndHtml() {
790        var strHtml = "";
791        strHtml = strHtml + "        </tr>";
792        strHtml = strHtml + "    </tbody>";
793        strHtml = strHtml + "</table>";
794        return strHtml;
795    };
796
797    /*----------------------------------------------------------------------------------
798    * レコメンドのHTMLのスマホ版を作成
799    * @param rcvItems 受信データのitems分
800    * @return strHtml 作成したHTML
801    ----------------------------------------------------------------------------------*/
802    function setHtmlforSp(rcvItems) {
803        var strHtml = "";
804        var addHtmlStr = "";
805        strHtml = strHtml + "<input id='reqId' name='reqId' value='【%%%REQID%%%】'  type='hidden' />"
806        for (i = 0; i < rcvItems.length; i++) {
807            strHtml = strHtml + "<div class='recDisplay'>";
808            strHtml = strHtml + "   <a ID= 'nmLink" + ("00" + i).slice(-2) + "' class='rcmLink' href='【%%%顧客URL%%%】'>";
809            strHtml = strHtml + "       <div class='twopane' ra:tcols='2 type2'>";
810            strHtml = strHtml + "           <div class='pane1'>";
811            strHtml = strHtml + "               <div class='gcpBasicText01 reclist'>";
812            strHtml = strHtml + "                   <input id='kokId" + ("00" + i).slice(-2) + "' name='kokId" + ("00" + i).slice(-2) + "' value = '【%%%顧客ID%%%】'  type='hidden' />";
813            strHtml = strHtml + "                   <p class='paragraph comnm'>【%%%顧客名%%%】</p>";
814            strHtml = strHtml + "                   <p class='paragraph gyonm'>";
815            strHtml = strHtml + "                       <span>【%%%業種名%%%】</span>";
816            strHtml = strHtml + "                   </p>";
817            strHtml = strHtml + "                   <p class='paragraph prbody'>";
818            strHtml = strHtml + "                       <span style='-ms-word-break: break-all; word-break: break-all;'>【%%%ひと言%%%】</span>";
819            strHtml = strHtml + "                   </p>";
820            strHtml = strHtml + "               </div>";
821            strHtml = strHtml + "           </div>";
822            strHtml = strHtml + "           <div class='pane2'>";
823            strHtml = strHtml + "               <div class='comimg'>";
824            strHtml = strHtml + "                   <img border='0'  src='【%%%画像Src%%%】' class=\"recmendimg\" />";
825            strHtml = strHtml + "               </div>";
826            strHtml = strHtml + "            </div>";
827            strHtml = strHtml + "       </div>";
828            strHtml = strHtml + "   </a>";
829            strHtml = strHtml + "</div>";
830
831            addHtmlStr = addHtmlStr + setKokData(strHtml, rcvItems[i]);
832            strHtml = "";
833        }
834        return addHtmlStr;
835    };
836
837    //検索結果用
838    function setHtmlforSrhSp(rcvItems) {
839        var strHtml = "";
840        var addHtmlStr = "";
841        strHtml = strHtml + "<input id='reqId' name='reqId' value='【%%%REQID%%%】'  type='hidden' />"
842        strHtml = strHtml + "<input id='recShowNumber' type='hidden' />"
843        strHtml = strHtml + "<input id='recEvent' type='hidden' value='0' />"
844        strHtml = strHtml + "<input id='recShowRl' type='hidden' />"
845        for (i = 0; i < rcvItems.length; i++) {
846
847
848            strHtml = strHtml + "<div class='recDisplay' style='border-bottom:none;position: relative;' id='recoShowID_" + i + "'>";
849            if (rcvItems.length > 2 && i != 0) {
850                strHtml = strHtml + "<div class='leftArrowReco'><div class='_arrow'>&nbsp</div></div>";
851            }
852            //strHtml = strHtml + "<img class='leftArrow' style='position: absolute;top: 50%;left: 0px;opacity:0.5;' src='../img/p_left.gif' />";
853            strHtml = strHtml + "   <a ID= 'nmLink" + ("00" + i).slice(-2) + "' class='rcmLink' href='【%%%顧客URL%%%】'>";
854            strHtml = strHtml + "       <div class='twopane' ra:tcols='2 type2'>";
855            strHtml = strHtml + "           <div class='pane1'>";
856            strHtml = strHtml + "               <div class='gcpBasicText01 reclist'>";
857            strHtml = strHtml + "                   <input id='kokId" + ("00" + i).slice(-2) + "' name='kokId" + ("00" + i).slice(-2) + "' value = '【%%%顧客ID%%%】'  type='hidden' />";
858            strHtml = strHtml + "                   <p class='paragraph comnm'>【%%%顧客名%%%】</p>";
859            strHtml = strHtml + "                   <p class='paragraph navionly'>【%%%Re就活キャンパス限定%%%】</p>";
860            strHtml = strHtml + "                   <p class='paragraph gyonm'>";
861            strHtml = strHtml + "                       <span>本社:【%%%本社%%%】</span>";
862            strHtml = strHtml + "                   </p>";
863            strHtml = strHtml + "                   <p class='paragraph gyonm'>";
864            strHtml = strHtml + "                       <span>【%%%業種名%%%】</span>";
865            strHtml = strHtml + "                   </p>";
866            strHtml = strHtml + "                   <p class='paragraph prbody'>";
867            strHtml = strHtml + "                       <span style='-ms-word-break: break-all; word-break: break-all;'>【%%%ひと言%%%】</span>";
868            strHtml = strHtml + "                   </p>";
869            strHtml = strHtml + "               </div>";
870            strHtml = strHtml + "           </div>";
871            strHtml = strHtml + "           <div class='pane2'>";
872            strHtml = strHtml + "               <div class='comimg'>";
873            strHtml = strHtml + "                   <img border='0'  src='【%%%画像Src%%%】' class=\"recmendimg\" />";
874            strHtml = strHtml + "               </div>";
875            strHtml = strHtml + "            </div>";
876            strHtml = strHtml + "       </div>";
877            strHtml = strHtml + "   </a>";
878            if (rcvItems.length > 2 && (i == 0 || rcvItems.length != (i + 1))) {
879                strHtml = strHtml + "<div class='rigthArrowReco'><div class='_arrow'>&nbsp</div></div>";
880            }
881            //strHtml = strHtml + "<img class='rightArrow' style='position: absolute;top: 50%;right: 0px;opacity:0.5;' src='../img/p_right.gif' />";
882            strHtml = strHtml + "</div>";
883
884
885
886
887            addHtmlStr = addHtmlStr + setKokData(strHtml, rcvItems[i]);
888            strHtml = "";
889        }
890        return addHtmlStr;
891    };
892
893
894    /*----------------------------------------------------------------------------------
895    * 顧客データを追加するHTMLにセット
896    * @param strHtml 追加するHTML文
897    * @param strRec 受信データ分割済み
898    ----------------------------------------------------------------------------------*/
899    function setKokData(strHtml, strRec) {
900        var strDomain = location.hostname;
901        var strWk;
902        var wkHtml = strHtml;
903
904        wkHtml = wkHtml.replace(/【%%%顧客名%%%】/g, strRec[0].title);
905
906        wkHtml = wkHtml.replace(/【%%%業種名%%%】/g, strRec[0].price_string);
907
908        wkHtml = wkHtml.replace(/【%%%本社%%%】/g, strRec[0].address);
909
910        if (strRec[0].reserve1 == "") {
911            wkHtml = wkHtml.replace(/【%%%Re就活キャンパス限定%%%】/g, "");
912        } else {
913            wkHtml = wkHtml.replace(/【%%%Re就活キャンパス限定%%%】/g, "Re就活キャンパス限定");
914        }
915
916        strWk = strRec[0].img_url;
917        if (strWk.indexOf("//www.gakujo.ne.jp") >= 0) {
918            strWk = strWk.replace("www.gakujo.ne.jp", "s3-ap-northeast-1.amazonaws.com/www.gakujo.ne.jp");
919
920        } else if (strWk.indexOf("staging.gakujo.ne.jp") >= 0) {
921            if (strDomain.indexOf("staging") == -1) {
922                strWk = strWk.replace("staging.gakujo.ne.jp", "navi-jasttest");
923            }
924        }
925
926        wkHtml = wkHtml.replace("【%%%画像Src%%%】", strWk);
927
928        strWk = strRec[0].ct_url;
929        if (strWk.indexOf("//staging.gakujo.ne.jp") >= 0) {
930            strWk = strWk.replace("//staging.gakujo.ne.jp", "");
931        }
932
933        wkHtml = wkHtml.replace(/【%%%顧客URL%%%】/g, strWk);
934
935        wkHtml = wkHtml.replace(/【%%%ひと言%%%】/g, strRec[0].desc);
936
937        wkHtml = wkHtml.replace(/【%%%顧客ID%%%】/g, strRec[0]._id);
938
939        return wkHtml;
940    };
941
942    /*----------------------------------------------------------------------------------
943    * ウィンドウ表示
944    * @param winName submit対象フォーム
945    * @param url 遷移先URL
946    * @param Comcd 企業コード
947    ----------------------------------------------------------------------------------*/
948    function openSubPblWindow(winName, url, Comcd) {
949        //原稿画面へ遷移
950        // CompanyPrm(winName, url, Comcd, "width=900,height=700, toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes");
951        CompanyPrm("", url, Comcd, "");
952        return false;
953    };
954
955    /*----------------------------------------------------------------------------------
956    * クリックされた顧客情報取得とウインドウ表示、クリック通知呼び出し
957    * @param kokNo 顧客番号(表示順番)
958    ----------------------------------------------------------------------------------*/
959    function exeLink(kokNo) {
960        var kokNm = $('#nmLink' + kokNo).text();
961        var kokID = $('#kokId' + kokNo).val();
962        var kokUrl = $('#nmLink' + kokNo).attr("href");
963        var reqID = $('#reqId').val();
964
965        //クリック通知
966        sndClickData(reqID, kokID);
967
968        var ua = navigator.userAgent;
969        if (ua.indexOf('iPhone') > 0) {
970            if (window.open(kokUrl, "_blank")) {
971
972            } else {
973                window.location.href = kokUrl;
974            }
975        } else {
976            openSubPblWindow("COMPANYPAGE", kokUrl);
977        }
978    };
979
980    /*----------------------------------------------------------------------------------
981    * クリック通知
982    * @param reqID リクエストID
983    * @param kokID 顧客ID
984    ----------------------------------------------------------------------------------*/
985    function sndClickData(reqId, kokId) {
986        var rcmDmin = $("#hdnRcmDmin").val().split(",");
987        var setParm = $("#hdnDevType").val().split(",");
988        var strHttp = location.href.slice(0, location.href.indexOf("//") + 2);
989
990        var sndUrl = strHttp + rcmDmin[0] + "/pycre5/jsonp/click?prod=" + kokId + "&merch=gakujo26&spec=" + setParm[0] + "&cookie=" + setParm[2] + "&cref=" + reqId
991
992        //alert(sndUrl);
993
994        /* レコメンドデータ送信 */
995        $.ajax({
996            async: false,
997            type: 'GET',
998            url: sndUrl,
999            dataType: 'jsonp',
1000            cache: true,
1001            contentType: 'application/JSON',
1002            scriptCharset: 'utf-8',
1003            jsonp: "callback",
1004            jsonpCallback: 'getreccomend',
1005            success: function (data, status, xhr) {
1006            },
1007            error: function (data, textStatus, errorThrown) {
1008            }
1009        });
1010    };
1011
1012    /**----------------------------------------------------------------------------------
1013     * 現在表示しているページの識別名を取得
1014     * @param {string} apppath
1015     * @param {string} pathname
1016     * @return strPgNm ページ名
1017    ----------------------------------------------------------------------------------*/
1018    function getPgName(apppath, pathname) {
1019        apppath = apppath || "";
1020        pathname = pathname || "";
1021        var strWd = pathname.split("/");
1022        var strAp = apppath.split("/");
1023        for (let p; strAp.length > 0 && strWd.length > 0 && (p = strAp.shift()) === strWd[0];) {
1024            strWd.shift();
1025        }
1026        var strPgNm;
1027        if (strWd.length == 0 || !strWd[0]) {
1028            strPgNm = 'index';
1029        } else if (strWd.includes("search")) {
1030            strPgNm = 'sch_result';
1031        } else if (strWd.includes("baseinfo")) {
1032            strPgNm = 'cmp_baseinfo';
1033        } else if (strWd.includes("employ")) {
1034            strPgNm = 'cmp_employ';
1035        } else {
1036            do {
1037                strPgNm = strWd.pop().replace(".aspx", "");
1038            } while (!strPgNm);
1039        }
1040        return strPgNm;
1041    };
1042
1043    /*----------------------------------------------------------------------------------
1044    * 現在表示しているページの企業コードを取得
1045    * @return 企業コード
1046    ----------------------------------------------------------------------------------*/
1047    function getKokId() {
1048        var strWd = location.search.split("&");
1049        return strWd[0].replace("?p1=", "");
1050    };
1051    function getKokId2() {
1052        var strWd = location.href.split("baseinfo");
1053        strWd[1] = strWd[1].replace("/", "")
1054        return strWd[1].replace("/", "").split("?")[0];
1055    };
1056
1057    /*----------------------------------------------------------------------------------
1058    * エントリー登録完了画面のときのみ専用電文を送信
1059    * @param rcmDmin ドメイン
1060    * @param devKInd デバイス種類(p:pc/s:sp)
1061    * @param strHttp Httpの種類
1062    ----------------------------------------------------------------------------------*/
1063    function sndEntEndUrl(rcmDmin, devKInd, strHttp) {
1064        //エントリー完了のときのみ以下の電文を送信
1065        var prodId = "?prod=" + $("#hdnComCd").val();
1066        var custCd = "&cust=" + $("#hdnCustCd").val();
1067
1068        var setParm = $("#hdnDevType").val().split(",");
1069        var cookieCd = "&cookie=" + setParm[2];
1070        var kokId = "&sku=" + $("#hdnComCd").val();
1071
1072        var order = "";
1073        var now = new Date();
1074        var year = now.getYear();               // å¹´
1075        var month = now.getMonth() + 1;     // 月
1076        var day = now.getDate();                // 日
1077        var hour = now.getHours();              // 時
1078        var min = now.getMinutes();             // 分
1079        var sec = now.getSeconds();             // 秒
1080        var mmsec = now.getMilliseconds();  //ミリ秒
1081
1082
1083
1084        //クッキー情報取得できなかた場合処理を行う
1085        //alert($("#hdnCustCd").val());
1086        if ($("#hdnCustCd").val()) {
1087            if (year < 2000) { year += 1900; }
1088
1089            // 数値が1桁の場合、頭に0を付けて2桁で表示する指定
1090            if (month < 10) { month = "0" + month; }
1091            if (day < 10) { day = "0" + day; }
1092            if (hour < 10) { hour = "0" + hour; }
1093            if (min < 10) { min = "0" + min; }
1094            if (sec < 10) { sec = "0" + sec; }
1095            // オーダー値を設定(年月日時分秒ミリ秒)
1096            order = year + month + day + hour + min + sec + mmsec;
1097
1098            var sndUrl = strHttp + rcmDmin + "/pycre5/jsonp/purchase" + prodId + "&merch=gakujo26" + kokId + "&order=" + order + "&qty=1&price=1" + custCd + cookieCd + "&device=" + devKInd;
1099
1100            //alert(sndUrl);
1101
1102            /* 登録完了データ送信 */
1103            $.post(sndUrl);
1104            $("#hdnCustCd").val("");
1105        }
1106
1107    }
1108
1109    /* マイリストに表示されている企業コードのリスト作成 */
1110    function mkProdList(comCdList) {
1111        //        var comCd = jQuery.unique(comCdList.split(","));
1112        var comCd = comCdList.split(",");
1113        var prodList = "";
1114        var comLst = ",";
1115        var j = 0;
1116
1117        for (i = 0; i < comCd.length; i++) {
1118            if (comCd[i].length != 0 && comLst.indexOf("," + comCd[i] + ",") == -1) {
1119                comLst = comLst + comCd[i] + ',';
1120                if (j < 3) {
1121                    prodList = prodList + "&prod=" + comCd[i]
1122                } else {
1123                    prodList = prodList + "&xprod=" + comCd[i]
1124                }
1125                j++;
1126            }
1127        }
1128        return prodList;
1129    }
1130
1131});

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.