PageSourceSearch

https://eplus.jp/s/eplus/js/s1.js?date=20211118061023

js eplus.jp collected 2026-09-24 07:22:00 UTC 46,382 bytes, 1,229 lines download raw bytes

1/* 定数 */
2
3var screenIdOfme = "s1";
4
5// スコアレコメンド枠(受付中)のフレームID
6var RECOMMEND_UKETUKECHU_FRAME_ID = 31;
7// スコアレコメンド枠(もうすぐ開催)のフレームID
8var RECOMMEND_MOUSUGU_FRAME_ID = 32;
9// エリアレコメンド枠のフレームID
10var AREA_RECOMMEND_FRAME_ID = 33;
11// エントリー枠出力記号
12var ENRTY_OUTPUT_SYMBOL = "a";
13// エリアレコメンド枠出力記号
14var AREA_RECOMMEND_OUTPUT_SYMBOL = "b";
15// スコアレコメンド枠(受付中)出力記号
16var RECOMMEND_UKETUKECHU_OUTPUT_SYMBOL = "c";
17// スコアレコメンド枠(もうすぐ開催)出力記号
18var RECOMMEND_MOUSUGU_OUTPUT_SYMBOL = "d";
19//お気に入り一覧タグセレクタ
20var OKINIIRI_LIST_TAG_SELECTOR = "#favorite-list";
21
22/* 変数 */
23// エントリー枠一覧
24var entryList = [];
25// スコアレコメンド枠(受付中)一覧
26var recommendUketukechuList = [];
27// スコアレコメンド枠(もうすぐ開催)一覧
28var recommendMousuguList = [];
29// エリアレコメンド枠一覧
30var areaRecommendList = [];
31// おすすめ用一覧非同期完了フラグ一覧
32var osusumeAsyncEndFlagList = {};
33osusumeAsyncEndFlagList[String(RECOMMEND_UKETUKECHU_FRAME_ID)] = false; // 受付中
34osusumeAsyncEndFlagList[String(RECOMMEND_MOUSUGU_FRAME_ID)] = false; // もうすぐ開催
35osusumeAsyncEndFlagList[String(AREA_RECOMMEND_FRAME_ID)] = false; // エリア
36// インターバル処理
37var callSetOsusumeListInterval;
38
39/* APIv3レスポンスデータ確認 */
40function responseContainsData(data) {
41	return (data.data && data.data.so_kensu && data.data.so_kensu > 0 && data.error == null);
42}
43
44/* レコメンドを取得 */
45function createRecommend(userId, frameId, prefCode) {
46
47	getKogyoCodeList();
48
49	/*
50     * ユーザーID、フレームID(オプションでpref_cd)を指定し「興行コード-興行サブコード」の配列を取得する。
51     */
52    function getKogyoCodeList() {
53		var kogyoCodeList = [];
54		var inputRecommendData = {};
55		inputRecommendData["user_id"] = userId.toUpperCase();
56		inputRecommendData["frame_id"] = frameId;
57		if(prefCode) {
58			inputRecommendData["ext.pref_cd"] = prefCode;
59		}
60
61		// 会員販売DBレコメンドobjを取得し、興行コードを作成する。
62		$.ajax({
63			type: "GET",
64			url: getRecommendWebApiUrl("/recommend.json"),
65			dataType: "json",
66			data: inputRecommendData,
67			timeout: TIMEOUT
68		}).done(function(data) {
69			if(data.item) {
70				data.item.forEach(function(item) {
71					var kougyouId = item["kougyou_id"];
72					if(kougyouId && kougyouId.length == 10) {
73						kogyoCodeList.push(kougyouId.slice(0, 6) + "-" + kougyouId.slice(6, 10));
74					}
75				});
76				if(kogyoCodeList.length > 0) {
77					getKogyoSubList(kogyoCodeList);
78				} else {
79					// 未設定で終了
80					setBlockCardTicketItemList([]);
81				}
82			} else {
83				// 未設定で終了
84				setBlockCardTicketItemList([]);
85			}
86		}).fail(function(jqXHR, textStatus, errorThrown) {
87			// 未設定で終了
88			setBlockCardTicketItemList([]);
89		});
90	}
91
92    /*
93     * 興行サブ一覧取得
94     * 引数のargKogyoSubKeyListは「興行コード-興行サブコード」形式の文字列の配列を要求する。
95     * 戻り値は
96     *   title(興行名)
97     *   datetime(公演日・公演期間)
98     *   place(会場名・都道府県名)
99     *   credit(クレジット)
100     *   image(画像URL)、
101     *   detailUrl(公演詳細URL(PC))
102     * の情報を持つオブジェクトの配列(kogyoSubList)。ただし空の項目はnull。
103     */
104    function getKogyoSubList(argKogyoSubKeyList) {
105		var kogyoSubList = [];
106		// ajaxのinput作成
107		var kogyoCodeParam = "";
108		argKogyoSubKeyList.forEach(function(kogyoCode) {
109			if(kogyoCodeParam != "") {
110				kogyoCodeParam += "&kogyo_sub_key_list=" + kogyoCode;
111			} else {
112				kogyoCodeParam = "kogyo_sub_key_list=" + kogyoCode;
113			}
114		});
115		// 1:レスポンスに関連ジャンル一覧を含める
116		kogyoCodeParam += "&kanren_genre_list_shutoku_flag=1";
117
118    	// 興行サブ一覧取得objを取得、興行データを加工してオブジェクトに格納する。
119		$.ajax({
120		    type : "GET",
121		    url : getApiv3Url("/v3/kogyo_sub"),
122		    data : kogyoCodeParam,
123		    dataType : "json",
124		    headers:APIV3_TOKEN,
125			timeout : TIMEOUT
126		}).done(function(data) {
127		    if (responseContainsData(data)) {
128				var response = data.data;
129				response.record_list.forEach(function(item) {
130					var kogyo = {};
131					kogyo.kogyoCode = item["kogyo_code"];
132					kogyo.detailUrl = item["koen_detail_url_pc"];
133					if (item["kogyo_name_1"]) {
134						kogyo.title = item["kogyo_name_1"];
135					} else {
136						kogyo.title = "";
137					}
138					if (item["kogyo_name_2"]) {
139						kogyo.title += " " + item["kogyo_name_2"];
140					}
141					kogyo.datetime = item["koenbi_term"];
142					if (kogyo.datetime && kogyo.datetime.length >= 8) {
143						var dateString = kogyo.datetime;
144						kogyo.datetime = makeDateYYYYMDW(dateString.substring(0, 8));
145						if (dateString.length == 17) {
146							kogyo.datetime += "~" + makeDateYYYYMDW(dateString.substring(9, 17));
147						}
148				    }
149					if (item.kanren_venue) {
150						if (item.kanren_venue["venue_name"] || item.kanren_venue["venue_name"] == null) {
151							kogyo.place = item.kanren_venue["venue_name"];
152						}else{
153							kogyo.place = "";
154						}
155						if (item.kanren_venue["todofuken_name"]) {
156							kogyo.place += "(" + item.kanren_venue["todofuken_name"] + ")";
157						}
158					}
159
160					// 配信アイコンの設定情報の追加
161					kogyo.haishinFlg = false;
162					if (item.kanren_genre_list && item.kanren_genre_list.length > 0) {
163						// 関連関連ジャンル一覧に、親ジャンルコード=200(イベント)のデータを使用する。
164						for (var i = 0; i < item.kanren_genre_list.length; i++) {
165							if (item.kanren_genre_list[i].parent_genre_code == "200"){
166								// 子ジャンル一覧に、子ジャンルコード=220(ストリーミング配信)のデータを取得
167								var childGenreList = item.kanren_genre_list[i].child_genre_list;
168								if (childGenreList && childGenreList.length > 0){
169									for (var j = 0; j < childGenreList.length; j++) {
170										if (childGenreList[j].child_genre_code == "220"){
171											kogyo.haishinFlg = true;
172											break;
173										}
174									}
175								}
176							}
177							if (kogyo.haishinFlg){
178								break;
179							}
180 						}
181					}
182
183					// 画像URL
184					kogyo.image = "/s/eplus/img/daitai/img_no_thumb.png";
185                	// 画像クレジット
186					kogyo.credit = "";
187                	if(item.kanren_tour && item.kanren_tour.tour_image_list
188							&& item.kanren_tour.tour_image_list.length > 0) {
189                		for (var i = 0; i < item.kanren_tour.tour_image_list.length; i++) {
190                			var tour_image = item.kanren_tour.tour_image_list[i];
191                    		// 画像種別区分 = 2(一覧) のデータの1件目を使用する。
192                    		if (tour_image.image_kind_kubun == "2") {
193                    			kogyo.image = getUrlOfDelDomain(tour_image["image_url"]);
194        						kogyo.credit = tour_image["image_credit"];
195                    			break;
196                    		}
197                		}
198                	}
199
200					kogyoSubList.push(kogyo);
201				});
202			} else {
203				// 未設定で終了
204				setBlockCardTicketItemList([]);
205			}
206
207			buildHtmlFromKogyoSubList(kogyoSubList);
208		}).fail(function(jqXHR, textStatus, errorThrown) {
209			// 未設定で終了
210			setBlockCardTicketItemList([]);
211		});
212	}
213
214    /*
215     * getKogyoSubListで取得したおすすめ公演の情報をHTMLページに挿入する。
216     * 引数はHTMLを挿入するタグのID(targetId)と、
217     *   title(興行名)
218     *   datetime(公演日・公演期間)
219     *   place(会場名・都道府県名)
220     *   credit(クレジット)
221     *   image(画像URL)、
222     *   detailUrl(公演詳細URL(PC))
223     * の情報を持つオブジェクトの配列(kogyoSubList)を要求する。
224     */
225    function buildHtmlFromKogyoSubList(kogyoSubList) {
226		var blockCardTicketItemList = [];
227		kogyoSubList.forEach(function(kogyo) {
228			var sectionContent = "";
229			if (kogyo.haishinFlg){
230				sectionContent = "<section class=\"block-card-ticket__item block-card-ticket__item--stpl\">";
231			}else{
232				sectionContent = "<section class=\"block-card-ticket__item\">";
233			}
234
235		    var html = sectionContent;
236		    html += "  <a class=\"block-card-ticket__trigger\" href=\"" + kogyo.detailUrl + "\">";
237	        html += "    <!-- BEGIN .card-ticket-->";
238	        html += "    <div class=\"card-ticket\">";
239	        html += "      <!-- BEGIN .card-inner-->";
240		    html += "      <div class=\"card-inner\">";
241		    if (kogyo.image) {
242		    	// 画像URLが設定されている場合のみタグ出力
243		    	html += "        <div class=\"card-inner__image\" style=\"background-image: url('" + kogyo.image + "');\">&nbsp;</div>";
244		    }
245	        html += "        <div class=\"card-inner__content\">";
246	        html += "          <h3 class=\"card-inner__title ellifpsis ellipsis--line3\">" + kogyo.title + "</h3>";
247//	        html += "          <p class=\"card-inner__text ellipsis ellipsis--line2\"></p>";
248
249	        if (kogyo.haishinFlg){
250	        	if (kogyo.place) {
251	        		html += "          <p class=\"card-inner__stpl\">" + kogyo.place + "</p>";
252	        	}else{
253	        		html += "          <p class=\"card-inner__stpl\"></p>";
254	        	}
255
256	        	if(kogyo.datetime){
257				    html += "          <p class=\"card-inner__datetime\">" + kogyo.datetime + "</p>";
258		        }
259	        }else{
260	        	if(kogyo.datetime){
261				    html += "          <p class=\"card-inner__datetime\">" + kogyo.datetime + "</p>";
262		        }
263	        	if (kogyo.place) {
264	        		html += "          <p class=\"card-inner__place\">" + kogyo.place + "</p>";
265	        	}
266	        }
267
268		    if (kogyo.credit) {
269		    	// 画像クレジットが設定されている場合のã
269¿ã‚¿ã‚°å‡ºåŠ›
270			    html += "          <p class=\"card-inner__license\">" + kogyo.credit + "</p>";
271		    }
272	        html += "        </div>";
273	        html += "      </div>";
274	        html += "      <!-- END .card-inner-->";
275	        html += "    </div>";
276	        html += "    <!-- END .card-ticket-->";
277		    html += "  </a>";
278		    html += "</section>";
279
280		    var blockCardTicketItem = {};
281		    blockCardTicketItem.kogyoCode = kogyo.kogyoCode;
282		    blockCardTicketItem.html = html;
283		    blockCardTicketItemList.push(blockCardTicketItem);
284		});
285
286		setBlockCardTicketItemList(blockCardTicketItemList);
287	}
288
289	/*
290	 * 一覧設定処理
291	 * 現在作成したおすすめ一覧の種類のhtml一覧をグローバル変数に設定し、
292	 * その処理を設定済みの設定にする。
293	 */
294	function setBlockCardTicketItemList(blockCardTicketItemList) {
295		switch (frameId) {
296			case RECOMMEND_UKETUKECHU_FRAME_ID:
297				// 受付中
298				recommendUketukechuList = blockCardTicketItemList;
299				osusumeAsyncEndFlagList[String(RECOMMEND_UKETUKECHU_FRAME_ID)] = true;
300				break;
301			case RECOMMEND_MOUSUGU_FRAME_ID:
302				// もうすぐ開催
303				recommendMousuguList = blockCardTicketItemList;
304				osusumeAsyncEndFlagList[String(RECOMMEND_MOUSUGU_FRAME_ID)] = true;
305				break;
306			case AREA_RECOMMEND_FRAME_ID:
307				// エリア
308				areaRecommendList = blockCardTicketItemList;
309				osusumeAsyncEndFlagList[String(AREA_RECOMMEND_FRAME_ID)] = true;
310				break;
311			default:
312		}
313	}
314
315}
316
317/* スコアレコメンド(受付中)を取得し、表示する。 */
318function createScoreRecommend_uketukechu(userId) {
319    createRecommend(userId, RECOMMEND_UKETUKECHU_FRAME_ID, "");
320}
321
322/* スコアレコメンド(もうすぐ開催)を取得し、表示する。 */
323function createScoreRecommend_mousugu(userId) {
324    createRecommend(userId, RECOMMEND_MOUSUGU_FRAME_ID, "");
325}
326
327/* エリアレコメンドを取得し、表示する。 */
328function createAreaRecommend(userId) {
329    createRecommend(userId, AREA_RECOMMEND_FRAME_ID, $.cookie("TODOFUKEN_CODE"));
330}
331
332/*
333 *
334 */
335function setOsusumeList() {
336	// 繰り返し呼び出しの停止
337	clearInterval(callSetOsusumeListInterval);
338
339	// おすすめ一覧ソート
340	var osusumeListSort = [];
341	// おすすめ一覧タグ
342	var $osusumeListTag = $("#sys-s1-recommend-card");
343	var osusumeListTag_server = $("#sys-s1-recommend-card-server").html();
344	// sectionの1つ上の親タグ
345	var sectionParent = $osusumeListTag.find(".block-card-ticket__list");
346
347	// おすすめ一覧ソート設定
348	setOsusumeListSort();
349	// エントリー枠一覧各要素の興行コード、HTMLを取得し、エントリー枠一覧へ設定
350	setEntryList();
351
352	// 各出力一覧
353	var outputLists = {};
354	// 値渡しでコピーする
355	outputLists[ENRTY_OUTPUT_SYMBOL] = $.extend(true, [], entryList); // エントリー枠
356	outputLists[AREA_RECOMMEND_OUTPUT_SYMBOL] = $.extend(true, [], areaRecommendList); // エリアレコメンド枠
357	outputLists[RECOMMEND_UKETUKECHU_OUTPUT_SYMBOL] = $.extend(true, [], recommendUketukechuList); // スコアレコメンド枠(受付中)
358	outputLists[RECOMMEND_MOUSUGU_OUTPUT_SYMBOL] = $.extend(true, [], recommendMousuguList); // スコアレコメンド枠(もうすぐ開催)
359
360	// おすすめ一覧タグ配下のsectionタグを空にする
361	$(sectionParent).html("");
362
363	// おすすめ一覧タグ設定
364	osusumeListSort.forEach(function(outputType) {
365		switch(outputType){
366			case ENRTY_OUTPUT_SYMBOL:
367				// エントリー枠
368				addOsusumeWithEntryList();
369				break;
370			case AREA_RECOMMEND_OUTPUT_SYMBOL:
371				// エリアレコメンド枠
372				addOsusumeWithAreaRecommendList();
373				break;
374			case RECOMMEND_UKETUKECHU_OUTPUT_SYMBOL:
375				// スコアレコメンド枠(受付中)
376				addOsusumeWithScoreRecommendList(RECOMMEND_UKETUKECHU_OUTPUT_SYMBOL);
377				break;
378			case RECOMMEND_MOUSUGU_OUTPUT_SYMBOL:
379				// スコアレコメンド枠(もうすぐ開催)
380				addOsusumeWithScoreRecommendList(RECOMMEND_MOUSUGU_OUTPUT_SYMBOL);
381				break;
382			default:
383				// 処理無し
384		}
385	});
386
387	/* おすすめ一覧ソート設定 */
388	function setOsusumeListSort() {
389		var osusumeJun = "";
390		if($("input[name=osusume_jun]")) {
391			osusumeJun = $("input[name=osusume_jun]").val();
392		}
393		osusumeListSort = osusumeJun.split("");
394	}
395
396	/* エントリー枠一覧各要素の興行コード、HTMLを取得し、エントリー枠一覧へ設定 */
397	function setEntryList() {
398		var sectionList = $(osusumeListTag_server).find("section");
399		var sectionListSize = sectionList.length;
400		for(var i = 0; i < sectionListSize; i++) {
401			var section = sectionList[i];
402			var entry = {};
403			var kogyoCode = $(section).find("input[name=kogyo_code]").val();
404			var html = $(section).prop("outerHTML");
405			entry.kogyoCode = kogyoCode;
406			entry.html = html;
407			entryList.push(entry);
408		}
409	}
410
411	/* おすすめ一覧にエントリー枠一覧の要素設定 */
412	function addOsusumeWithEntryList() {
413		var tmpEntryList = outputLists[ENRTY_OUTPUT_SYMBOL];
414
415		if(tmpEntryList.length > 0) {
416			// エントリー枠一覧処理用の先頭の要素を取り除き、htmlを取得
417			var tmpEntry = tmpEntryList.shift();
418			var tmpKogyoCode = tmpEntry.kogyoCode;
419			var tmpEntryHtml = tmpEntry.html;
420			$(sectionParent).append(tmpEntryHtml);
421			deleteDuplicationRecord(tmpKogyoCode);
422		}
423	}
424
425	/* おすすめ一覧にエリアレコメンド枠一覧の要素設定 */
426	function addOsusumeWithAreaRecommendList() {
427		var tmpAreaRecommendList = outputLists[AREA_RECOMMEND_OUTPUT_SYMBOL];
428
429		if(tmpAreaRecommendList.length > 0) {
430			// エリアレコメンド枠一覧処理用の先頭の要素を取り除き、取得
431			var tmpAreaRecommend = tmpAreaRecommendList.shift();
432			// 興行コード
433			var kogyoCode = tmpAreaRecommend.kogyoCode;
434			// 追加HTML
435			var appendHtml = tmpAreaRecommend.html;
436
437			// 出力HTML置換処理
438			for(var i = 0; i < 3; i++) {
439				var tmpHtml = "";
440
441				// エントリー枠、スコアレコメンド枠(もうすぐ開催)、スコアレコメンド枠(受付中)の順
442				switch(i) {
443					case 0:
444						tmpHtml = getOutputHtmlWithKogyoCode(kogyoCode, ENRTY_OUTPUT_SYMBOL);
445						break;
446					case 1:
447						tmpHtml = getOutputHtmlWithKogyoCode(kogyoCode, RECOMMEND_MOUSUGU_OUTPUT_SYMBOL);
448						break;
449					case 2:
450						tmpHtml = getOutputHtmlWithKogyoCode(kogyoCode, RECOMMEND_UKETUKECHU_OUTPUT_SYMBOL);
451						break;
452					default:
453						// 処理無し;
454				}
455				if(tmpHtml) {
456					// HTMLが取得できた場合、それを出力用に置き換え、ループから抜け出す
457					appendHtml = tmpHtml
458					break;
459				}
460			}
461
462			$(sectionParent).append(appendHtml);
463			deleteDuplicationRecord(kogyoCode);
464		}
465	}
466
467	/* おすすめ一覧にスコアレコメンド枠一覧の要素設定 */
468	function addOsusumeWithScoreRecommendList(outputType) {
469		var tmpScoreRecommendList = outputLists[outputType];
470
471		if(tmpScoreRecommendList.length > 0) {
472			// スコアレコメンド枠一覧処理用の先頭の要素を取り除き、取得
473			var tmpScoreRecommend = tmpScoreRecommendList.shift();
474			// 興行コード
475			var kogyoCode = tmpScoreRecommend.kogyoCode;
476			// 追加HTML
477			var appendHtml = tmpScoreRecommend.html;
478
479			// 出力HTML置換処理
480			var tmpHtml = getOutputHtmlWithKogyoCode(kogyoCode, ENRTY_OUTPUT_SYMBOL);
481			if(tmpHtml) {
482				// HTMLが取得できた場合、それを出力用に置き換える
483				appendHtml = tmpHtml;
484			}
485
486			$(sectionParent).append(appendHtml);
487			deleteDuplicationRecord(kogyoCode);
488		}
489	}
490
491	/* 興行コードから指定の一覧の出力用HTMLを取得 */
492	function getOutputHtmlWithKogyoCode(kogyoCode, outputType) {
493		var outputHtml = "";
494		var outputList = outputLists[outputType];
495		var outputListSize = outputList.length;
496		// forEachではbreakに該当する処理がないので、forを使用
497		for(var i = 0; i < outputListSize; i++) {
498			var output = outputList[i];
499			if(output.kogyoCode === kogyoCode) {
500				outputHtml = output.html; // 現在の要素のhtmlを取得
501				outputList.splice(i, 1); // 出力一覧から現在の要素を取り除く
502				break;
503			}
504		}
505
506		return outputHtml;
507	}
508
509	/* 入力値の興行コードと等しい各一覧の要素を削除 */
510	function deleteDuplicationRecord(kogyoCode) {
511		// エントリー枠一覧
512		deleteDuplicationRecordForSingleList(kogyoCode, ENRTY_OUTPUT_SYMBOL);
513		// エリアレコメンド枠一覧
514		deleteDuplicationRecordForSingleList(kogyoCode, AREA_RECOMMEND_OUTPUT_SYMBOL);
515		// スコアレコメンド枠(受付中)一覧
516		deleteDuplicationRecordForSingleList(kogyoCode, RECOMMEND_UKETUKECHU_OUTPUT_SYMBOL);
517		// スコアレコメンド枠(もうすぐ開催)一覧
518		deleteDuplicationRecordForSingleList(kogyoCode, RECOMMEND_MOUSUGU_OUTPUT_SYMBOL);
519	}
520
521	/* 入力値の興行コードと等しい、入力値で指定した一覧の要素を削除 */
522	function deleteDuplicationRecordForSingleList(kogyoCode, outputType) {
523		var outputList = outputLists[outputType];
524		var outputListSize = outputList.length;
525		var i = 0;
526
527		while(i < outputListSize) {
528			var output = outputList[i];
529			if(output.kogyoCode === kogyoCode) {
530				outputList.splice(i, 1); // 出力一覧から現在の要素を取り除く
531				outputListSize--; // 取り除いた分の一覧のサイズを減らす
532				// iのインクリメント無し(現在の要素を取り除いた分、後続要素が前に詰められるため)
533			} else {
534				i++; // 次のレコードへ
535			}
536		}
537	}
538}
539
540/*
541 * おすすめ用一覧設定呼び出し処理
542 */
543function callSetOsusumeList() {
544	// 非同期で取得するおすすめ用一覧がすべて取得済みか確認
545	for(var key in osusumeAsyncEndFlagList) {
546		if(osusumeAsyncEndFlagList[key] == false) {
547			// すべて取得済み出ない場合、おすすめ用一覧設定は呼び出さない
548			return;
549		}
550	}
551
552	// おすすめ用一覧設定呼び出し
553	setOsusumeList();
554
555	var $target = $('#s1-osusume-card');
556	if($target.find("section").length > 0) { // 表示する内容有り
557		layoutCard($target);
558
559	}else{ // 表示する内容無し
560		$("#section--s1-recommend").addClass("hidden");
561		$("#s1-osusume-card").addClass("hidden");
562		$("#sys-s1-recommend-card").addClass("hidden");
563
564	}
565
566	// おすすめ公演トルツメ処理
567	torutsumeRecommendParentNav();
568}
569
570function setSize($element) {
571	  var size = 'lg';
572	  if ($(window).width() < 1024) {
573	    size = 'md';
574	  }
575	  if ($(window).width() < 768) {
576	    size = 'sm';
577	  }
578	  $element.data('size', size);
579	}
580
581function isChangeSize($element) {
582	  var width = $(window).width();
583	  var size = 'lg';
584	  if (width < 1024) {
585	    size = 'md';
586	  }
587	  if (width < 768) {
588	    size = 'sm';
589	  }
590	  if ($element.data('size') !== size) {
591	    $element.data('size', size);
592	    return true;
593	  }
594	  return false;
595	}
596
597/**
598* layoutCard
599* 公演カード情報をスライドにする関数
600*
601* @param $output
602* @returns {undefined}
603*/
604function layoutCard($output) {
605var $slider = $output.parents('[data-slider]:not(.slick-slider)').eq(0);
606if (!$slider.length) {
607  return false;
608}
609var moveItems = function moveItems($el) {
610  var baseClass = $el.attr('class');
611  var type = 0;
612  if ($(window).width() >= 1024) {
613    type = 1;
614  }
615  var viewLength = parseInt($el.data('slider').split(',')[type]);
616  var $wrap = $el.children();
617  var $list = $('.' + baseClass + '__list', $el);
618  var $items = $('.' + baseClass + '__item', $el);
619  var length = $items.length;
620  var count = 0;
621  var number = 0;
622  while (count < length) {
623    var $clone = $('<div/>').addClass($wrap.attr('class')).attr('data-number', number);
624    var $cloneList = $('<div/>').addClass($list.attr('class'));
625    var $htmlItems = $.map($items, function (obj) {
626      return obj;
627    });
628    var ary = $htmlItems.slice(number * viewLength, number * viewLength + viewLength);
629    $.each(ary, function (i, $item) {
630      $cloneList.append($item);
631      $clone.append($cloneList);
632    });
633    $clone.append($cloneList);
634    $el.append($clone);
635    count += viewLength;
636    number++;
637  }
638  $wrap.remove();
639};
640var initElement = function initElement(element) {
641  var $el = $(element);
642  setSize($el);
643  moveItems($el);
644
645  var $slider = $el;
646  var settings = {
647    infinite: true,
648    speed: 300,
649    dots: false,
650    slidesToShow: 1,
651    slidesToScroll: 1
652  };
653  // slickの定義
654  $(window).on('resize', function () {
655    if (isChangeSize($slider)) {
656      if ($slider.hasClass('slick-initialized')) {
657        $slider.slick('unslick');
658      }
659      moveItems($el);
660      if ($(window).width() < 768) {
661        if ($slider.hasClass('slick-initialized')) {
662          $slider.slick('unslick');
663        }
664        return;
665      }
666      if (!$slider.hasClass('slick-initialized')) {
667        return $slider.slick(settings);
668      }
669    }
670  });
671  $slider.slick(settings);
672  if ($(window).width() < 768) {
673    $slider.slick('unslick');
674  }
675  $slider.on('setPosition', function (e, slick, direction) {
676    // 文字省略実行
677    if ($(window).width() >= 768) {
678      $(".ellipsis.ellipsis--line2:not(.ellipsis--active)", $slider).trunk8({
679        lines: 2,
680        tooltip: false
681      });
682      $(".ellipsis.ellipsis--line3:not(.ellipsis--active)", $slider).trunk8({
683        lines: 3,
684        tooltip: false
685      });
686      $(".ellipsis:not(.ellipsis--active)").addClass('ellipsis--active');
687    } else {
688      $(".ellipsis--active").trunk8('revert');
689    }
690  });
691};
692if ($slider.length) {
693  $slider.each(function (index, element) {
694    initElement(element);
695  });
696}
697}
698
699/**
700 * おすすめ公演トルツメ処理
701 *
702 * @returns {undefined}
703 */
704function torutsumeRecommendParentNav() {
705	if($("#section--s1-recommend").hasClass("hidden")) {
706		// おすすめ公演のヘッダー部の文言がトルツメのとき、おすすめ公演全体をトルツメ
707		$("nav.section--s1-recommend").remove();
708	}
709}
710
711/**
712 * 特集トルツメ処理
713 *
714 * @returns {undefined}
715 */
716function torutsumeTokushuParentNav() {
717	if($("#feature").hasClass("hidden")) {
718		// おすすめ公演のヘッダー部の文言がトルツメのとき、おすすめ公演全体をトルツメ
719		$("nav.section--s1-feature").remove();
720	}
721}
722
723//公演クリップ取得用
724function getEplusCloudKoenId() {
725	var callbackKoenList = function(data) {
726		var ePlusCloudkoenList = [];
727		if (data !== ""){
728			data = JSON.parse(data);
729			if (data.response && data.count && data.count > 0 && !data.error) {
730				//エラーでない場合、idを一覧に格納する
731				var response = data.response;
732				response.forEach(function(item) {
733					if(item && item.entity && item.entity.id) {
734						ePlusCloudkoenList.push(item.entity["id"]);
735					}
736				});
737			}else{
738			}
739		}else{
740		}
741		if(ePlusCloudkoenList.length > 0){
742			getKoenList(ePlusCloudkoenList);
743		}
744	}
745
746    //サインイン判定
747	if (kakuninSignIn()) {
748		// サインイン時
749		// e+cloud公演キー一覧を取得する。
750		var webApi = "/api/v1/me/shows/clipped_v2";
751		var urlParams = {};
752		urlParams["per_page"] = 15;
753		urlParams["page"] = 1;
754		// e+cloud公演キー一覧を取得する。
755		callApiFromServletForTokenOfAsync("", webApi, "GET", urlParams, callbackKoenList, "errorIgnored");
756	}else{
757		//何もしない
758	}
759}
760
761
762//公演APIのメイン処理
763function getKoenList(ePlusCloudkoenList) {
764	var urlParams = {};
765	urlParams['koen_key_list'] = ePlusCloudkoenList;
766	urlParams['uketsuke_status_list'] = 0;
767	urlParams['kanren_tour_shutoku_flag'] = 1;
768	urlParams['shutoku_start_ichi'] = 1;
769	urlParams['shutoku_kensu'] = 15;
770
771	var clipHTML="";
772	var clipHTMLstart
773        = '	<nav class=\"section section--s1-clip\" style=\"display: block;\"> '
774        + '  <!-- BEGIN .section-header__nav--> '
775        + '  <header class=\"section-header section-header--flat\"> '
776        + '    <div class=\"section-header__content\"> '
777        + '      <h2 class=\"section-header__title\">アプリでクリップした公演</h2> '
778        + '      <p class=\"section-header__outline\">イープラスアプリでクリップした公演を表示しています。クリップの削除などは、イープラスアプリから行えます。</p> '
779        + '    </div> '
780        + '  </header> '
781        + '  <!-- END .section-header__nav--> '
782        + '  <div class=\"section__content\"> '
783        + '    <div class=\"block-card-clip\"> '
784        + '      <div class=\"block-card-clip__wrapper\"> '
785        + '        <div class=\"block-card-clip__list output\" id=\"sys-s1-clip-card\"> '
786        + '        <!--クリップ情報を出力(最大3件表示してもっと見る) -->'
787        ;
788	var clipHTMLend
789	    = '        </div> '
790        + '      </div> '
791        + '    </div> '
792        + '  </div> '
793        + '	</nav> '
794        ;
795 	var clipHTMLseemore
796	    = '<!-- もっと見る --> '
797        + '  <section class=\"block-card-clip__item block-card-clip__readmore\"> '
798        + '    <a class=\"block-card-clip__trigger\" href=\"/sf/member/clip/list\"> '
799        + '      <div class=\"card-ticket card-ticket--clip\"> '
800        + '        <div class=\"card-inner card-inner--readmore\"> '
801        + '          <h3 class=\"card-inner__title card-inner__title--readmore\">クリップ公演をもっと見る</h3> '
802        + '        </div> '
803        + '      </div> '
804        + '    </a> '
805        + '  </section> '
806        ;
807	var clipHTMLrecord="";
808
809	$.ajax({
810		type: "GET",
811		traditional: true,
812		url: getApiv3Url("/v3/koen"),
813		data: urlParams,
814		dataType:"json",
815	    headers:getAPIV3Token(),
816		timeout: TIMEOUT
817    }).done(function(data) {
818		if (data.data && data.data.so_kensu && data.data.so_kensu > 0 && data.error == null) {
819		    var recordList = data.data.record_list;
820			var koenListCount = 0;
821			var checkKoenKey = 0;
822			for(var i=0;i<ePlusCloudkoenList.length;i++){
823			    for(var j = 0; j<recordList.length;j++){
824			    	var item = recordList[j];
825	        		//公演キーの作成
826	        		var koenKey = item["kogyo_code"] + "-" + item["kogyo_sub_code"] + "-" + item["koen_code"];
827	        		var koen_record = {};
828	        		//e+cloudの戻り値のID(公演キー)と比較し、一致すれば一覧を作成
829	        		//一致しない場合、次の戻り値と比較
830					if(ePlusCloudkoenList[i]===koenKey){
831						koenListCount++;
832		        		//一致した場合、各項目に値を格納していく
833						//ストリーミング配信区分
834		        		if (item["streaming_haishin_kubun"] && item["streaming_haishin_kubun"] !== null && item["streaming_haishin_kubun"] !== "") {
835		        			koen_record.streaming_haishin_kubun = item["streaming_haishin_kubun"];
836		        		}else{
837		        			koen_record.streaming_haishin_kubun = "";
838		        		}
839		        		//「1:Streaming+公演、2:Streaming+以外のストリーミング配信公演」の場合、配信アイコンを表示。
840		        		if (koen_record.streaming_haishin_kubun == "1" || koen_record.streaming_haishin_kubun == "2"){
841		        			koen_record.haishinIcon = '<section class=\"block-card-cl
841ip__item block-card-clip__item--stpl\"> ';
842		        		}else{
843		        			koen_record.haishinIcon = '<section class=\"block-card-clip__item\"> ';
844		        		}
845
846		        		//公演日・期間
847		        		if(item["koenbi_term"]==="null" || item["koenbi_term"]===null){
848		        			koen_record.koenbi = "";
849		        		}else{
850		        			koen_record.koenbi = makeDateYYYYMDWSPLIT(item["koenbi_term"]);// frontUtil.js
851		        			//通常:YYYY/MM/DD(W)
852		        			koen_record.koenbiFromTo = koen_record.koenbi[0];
853		        			if(koen_record.koenbi.length == 2){
854		        				//期間中有効の場合
855		        				if (koen_record.streaming_haishin_kubun == "1"){
856		        					//ストリーミング配信区分「1:Streaming+公演」の場合、YYYY/MM/DD(W)~
857		        					koen_record.koenbiFromTo = koen_record.koenbi[0] + "~";
858		        				}else{
859		        					//上記以外の場合、YYYY/MM/DD(W)~YYYY/MM/DD(W)
860			        				koen_record.koenbiFromTo = koen_record.koenbi[0] + "~" + koen_record.koenbi[1];
861		        				}
862		        			}
863
864		        			koen_record.koenbi = '<p class=\"card-inner__datetime\">' + koen_record.koenbiFromTo + '</p> ';
865		        		}
866
867		        		//URL
868		        		//var seni_saki_url = record.koen_detail_url_pc;
869		        		koen_record.seni_saki_url = item["koen_detail_url_pc"];
870		        		//興行名1、興行名2
871		        		var kogyoName1 = item.kanren_kogyo_sub["kogyo_name_1"];
872		        		var kogyoName2 = item.kanren_kogyo_sub["kogyo_name_2"];
873		        		koen_record.kogyoName = (kogyoName2 === "" || kogyoName2 === null) ? kogyoName1 : (kogyoName1 + " " + kogyoName2);
874						koen_record.venue = "";
875						koen_record.todofuken = "";
876						koen_record.place = ""
877						if (item.kanren_venue) {
878		        		//会場名
879							if (item.kanren_venue["venue_name"] && item.kanren_venue["venue_name"] !== null && item.kanren_venue["venue_name"] !== "") {
880								koen_record.venue = item.kanren_venue["venue_name"];
881							}else{
882								koen_record.venue = "";
883							}
884		        		//都道府県名
885							if (item.kanren_venue["todofuken_name"] && item.kanren_venue["todofuken_name"] !== null && item.kanren_venue["todofuken_name"] !== "") {
886								koen_record.todofuken = "(" + item.kanren_venue["todofuken_name"] + ")";
887							}else{
888								koen_record.todofuken = "";
889							}
890							if(koen_record.venue != "" || koen_record.todofuken != ""){
891								//「ストリーミング配信区分=1:Streaming+公演、2:Streaming+以外のストリーミング配信公演」の場合、会場名を表示するタグのclassは「card-inner__stpl」を設定する。
892								if (koen_record.streaming_haishin_kubun == "1" || koen_record.streaming_haishin_kubun == "2"){
893									koen_record.place = '<p class=\"card-inner__stpl\">' + koen_record.venue + koen_record.todofuken + '</p>';
894								}else{
895									koen_record.place = '<p class=\"card-inner__place\">' + koen_record.venue + koen_record.todofuken + '</p>';
896								}
897							}else{
898								if (koen_record.streaming_haishin_kubun == "1" || koen_record.streaming_haishin_kubun == "2"){
899									koen_record.place = '<p class=\"card-inner__stpl\"></p>';
900								}else{
901									koen_record.place = "";
902								}
903							}
904						}else{
905							if (koen_record.streaming_haishin_kubun == "1" || koen_record.streaming_haishin_kubun == "2"){
906								koen_record.place = '<p class=\"card-inner__stpl\"></p>';
907							}
908						}
909		        		//ツアー画像
910						// 画像URL
911						koen_record.image = "/s/eplus/img/daitai/img_no_thumb.png";
912	                	// 画像クレジット
913						koen_record.credit = "";
914	                	if(item.kanren_tour && item.kanren_tour.tour_image_list
915								&& item.kanren_tour.tour_image_list.length > 0) {
916	                		for (var k = 0; k < item.kanren_tour.tour_image_list.length; k++) {
917	                			var tour_image = item.kanren_tour.tour_image_list[k];
918	                    		// 画像種別区分 = 2(一覧) のデータの1件目を使用する。
919	                    		if (tour_image.image_kind_kubun == "2") {
920	                    			koen_record.image = getUrlOfDelDomain(tour_image["image_url"]); //common.js
921	                    			if(tour_image["image_credit"] !== null && tour_image["image_credit"] !== "")
922	        						koen_record.credit = '<p class=\"card-inner__license\">' + tour_image["image_credit"] + '</p> ';
923	                    			break;
924	                    		}
925	                		}
926	                	}
927						//clipHTMLrecordに明細部分を追加
928						clipHTMLrecord += outputKoenList(koen_record);
929						//e+cloudIDとkoenKeyが一致した場合、breakする
930						break;
931					}
932			    }
933			    //最大3件分取得できたらbreakする
934			    if(koenListCount == 3){
935			    	//クリップ用のHTMLを組み立てる
936			    	clipHTML = clipHTMLstart + clipHTMLrecord + clipHTMLseemore + clipHTMLend;
937					$(".page-content").prepend(clipHTML);
938					checkKoenKey = 1;
939			    	break;
940			    }
941			}
942			if(checkKoenKey != 1 && clipHTMLrecord !== ""){
943		    	//クリップ用のHTMLを組み立てる
944				clipHTML = clipHTMLstart + clipHTMLrecord + clipHTMLseemore + clipHTMLend;
945				$(".page-content").prepend(clipHTML);
946			}
947
948			var $target = $('#sys-s1-clip-card');
949	        $target.on('init', function () {
950	            setHeight($target, '.card-inner');
951	          });
952	          $target.slick({
953	            infinite: false,
954	            speed: 300,
955	            slidesToShow: 4,
956	            slidesToScroll: 4,
957	            autoplay: false,
958	            arrows: true,
959	            appendArrows: $('.block-card-clip'),
960	            dots: false,
961	            autoplaySpeed: 3000,
962	            variableWidth: false,
963	            responsive: [{
964	              breakpoint: 1024,
965	              settings: {
966	                dots: false,
967	                arrows: true,
968	                slidesToShow: 3,
969	                slidesToScroll: 3,
970	                variableWidth: false
971	              }
972	            }, {
973	              breakpoint: 768,
974	              settings: {
975	                dots: false,
976	                arrows: false,
977	                slidesToShow: 1.1,
978	                slidesToScroll: 1,
979	                centerMode: false,
980	                variableWidth: false
981	              }
982	            }]
983	          });
984	          $target.on('setPosition', function () {
985	            setHeight($target, '.card-inner');
986	          });
987	          $(window).on('resize', function () {
988	            if (isChangeSize($target)) {
989	              setHeight($target, '.card-inner');
990	            }
991	          });
992		}
993	}).fail(function(xhr, status, error) {});
994}
995
996//クリップ公演のレコード出力用
997function outputKoenList(koen_record) {
998	var koenRecord
999		= '          <!-- BEGIN clip_item--> '
1000        + '          ' + koen_record.haishinIcon + ' '
1001        + '            <a class=\"block-card-clip__trigger\" href=\"' + koen_record.seni_saki_url + '\"> '
1002        + '              <!-- BEGIN .card-ticket--> '
1003        + '              <div class=\"card-ticket\"> '
1004        + '                <!-- BEGIN .card-inner--> '
1005        + '                <div class=\"card-inner\"> '
1006        + '                  <div class=\"card-inner__image\" style=\"background-image: url(\'' + koen_record.image + '\')\">&nbsp;</div> '
1007        + '                  <div class=\"card-inner__content\"> '
1008        + '                    <h3 class=\"card-inner__title ellipsis ellipsis--line3\">' + koen_record.kogyoName + '</h3> ';
1009
1010        if (koen_record.streaming_haishin_kubun == "1" || koen_record.streaming_haishin_kubun == "2"){
1011        	koenRecord = koenRecord
1012        	+ '                    ' + koen_record.place + ' '
1013            + '                    ' + koen_record.koenbi + ' ';
1014        }else{
1015        	koenRecord = koenRecord
1016        	+ '                    ' + koen_record.koenbi + ' '
1017            + '                    ' + koen_record.place + ' ';
1018        }
1019
1020		koenRecord = koenRecord
1021		+ '                    ' + koen_record.credit + ' '
1022        + '                  </div> '
1023        + '                </div> '
1024        + '                <!-- END .card-inner--> '
1025        + '              </div> '
1026        + '              <!-- END .card-ticket--> '
1027        + '            </a> '
1028        + '          </section> '
1029        + '          <!-- END clip_item--> '
1030        ;
1031	return koenRecord;
1032}
1033
1034function setHeight($element, targetClass) {
1035	  $element.each(function (i, box) {
1036	    var maxHeight = 0;
1037	    $(box).find(targetClass).each(function () {
1038	      $(this).css({ 'height': 'inherit' });
1039	      if ($(this).height() > maxHeight) maxHeight = $(this).height();
1040	    });
1041	    $(box).find(targetClass).height(maxHeight);
1042	  });
1043	}
1044
1045$(function() {
1046    var userId = $.cookie("MEMBER_ID");
1047    var syutokukensu = '6';			/*6固定*/
1048	/*SPICE記事設定*/
1049	getSpiceArticle("",syutokukensu,screenIdOfme);
1050
1051	// お気に入り登録・解除
1052	$(OKINIIRI_LIST_TAG_SELECTOR).find(".favorite-button").on("click", function() {
1053		okniiriButtonClick(this, screenIdOfme);
1054    });
1055
1056    if (kakuninSignIn()) { // サインイン時
1057		createScoreRecommend_uketukechu(userId);
1058		createScoreRecommend_mousugu(userId);
1059		createAreaRecommend(userId);
1060		callSetOsusumeListInterval = setInterval("callSetOsusumeList()", 1000);
1061		getOkiniiri(screenIdOfme);
1062	} else { // 未サインイン時
1063		// 共通エントリーのレコード置き場
1064		var osusumeListTag_server_logout = $("#sys-s1-recommend-card-server").html();
1065
1066		// おすすめ公演トルツメ処理(共通エントリーが0件ならトルツメ)
1067		if($(osusumeListTag_server_logout).find("section.block-card-ticket__item").length == 0) {
1068			$("#section--s1-recommend").addClass("hidden");
1069		}
1070		torutsumeRecommendParentNav();
1071
1072		// 共通エントリーのレコードを、本来表示するブロック内へコピーする
1073		$('#s1-osusume-card').html($(osusumeListTag_server_logout).html());
1074
1075		// お気に入りボタンの読み込み中表示を解除し、すべて未登録表示にする
1076		$(OKINIIRI_LIST_TAG_SELECTOR).find(".favorite-button--loading").attr("class", "favorite-button");
1077		var $target = $('#s1-osusume-card');
1078		layoutCard($target);
1079
1080		// お気に入り表示確認呼び出し
1081		checkDisplayOkiniiri(screenIdOfme);
1082	}
1083
1084    // 特集のslick対応
1085	var $targetTokusyu = $('#sys-s1-feature-card');
1086	layoutCard($targetTokusyu);
1087	torutsumeTokushuParentNav();
1088
1089	//slick用
1090	getEplusCloudKoenId();
1091
1092
1093	// お気に入りの「名称・団体一覧」押下時処理
1094    $("#display_okiniiri_list").on("click", function() {
1095		// お気に入り登録・e+★チェック受信エリア設定遷移処理
1096    	if(kakuninSignIn()) {
1097			// サインイン済なら、お気に入り登録・e+★チェック受信エリア設定へ遷移
1098			window.location.href = "/sf/member/follow/list";
1099			return;
1100		}else{
1101			var callBack_login = function(returnFlg) {
1102				if (returnFlg !== "close"){
1103					// ログインした場合、画面の再描画
1104					window.location.href = "/sf/member/follow/list";
1105			   	}
1106			}
1107			loadSignIn(callBack_login);
1108		}
1109	});
1110
1111    // 種別の「公演」押下時処理
1112    $('#koen_kind-1').on('click', function() {
1113    	var koenKind1 = $('#koen_kind-1').prop('checked');  /*通常公演*/
1114    	if(!koenKind1){
1115        	/*「公演」がチェックされていないときは既存の「エリア(地方)」項目を非活性に変更。*/
1116        	$("select[name='chiho_filter']").prop('disabled', true);
1117        	//「エリア(地方)」を全国に戻る
1118        	$("[name='chiho_filter']").prop('selectedIndex', 0);
1119
1120        } else {
1121        	//活性に変更
1122        	$("select[name='chiho_filter']").prop('disabled', false);
1123        }
1124	});
1125
1126	// 検索条件のサブミット
1127	$("#search_form").submit(function() {
1128		// キーワード
1129		var keyword = $(this).find("input[name=keyword]").eq(0).val();
1130		// 種別
1131		var koenKind1 = $(this).find("input[name=koen_kind-1]").eq(0).prop('checked');  /*通常公演*/
1132	    var koenKind2 = $(this).find("input[name=koen_kind-2]").eq(0).prop('checked');  /*他社、ストプラ公演*/
1133
1134		// 公演日from
1135		var koenFrom = convertKoenToUrlParam($(this).find("input[name=koen_from_filter]").eq(0).val());
1136		// 公演日to
1137		var koenTo = convertKoenToUrlParam($(this).find("input[name=koen_to_filter]").eq(0).val());
1138		// 親ジャンル
1139		var pGenre = $(this).find("select[name=p_genre_filter]").eq(0).val();
1140		// 子ジャンル
1141		var cGenre = "";
1142		var cGenreFilterList = $(this).find("select[name=c_genre_filter]");
1143		var cGenreFilterListSize = cGenreFilterList.length;
1144		for(var i = 0; i < cGenreFilterListSize; i++) { // break使用のため、forで処理
1145			var value = $(cGenreFilterList[i]).val();
1146			if(value) {
1147				// 表示中プルダウンが未選択でなければそのvalue値を取得
1148				cGenre = value;
1149				break;
1150			}
1151		}
1152		// 地域
1153		var chiho = $(this).find("select[name=chiho_filter]").eq(0).val();
1154		var flg = 0;
1155		var searcl_url = "/sf/search?block=true&";
1156		if(keyword != null && keyword != ""){
1157			searcl_url = searcl_url + "keyword=" + encodeURIComponent(keyword) + "&";
1158		}
1159		if(koenKind1 != null && koenKind1 == true){
1160			searcl_url = searcl_url + "koenKind=1&";
1161		}
1162		if(koenKind2 != null && koenKind2 == true){
1163			searcl_url = searcl_url + "koenKind=2&";
1164		}
1165		if(koenFrom != null && koenFrom != ""){
1166			searcl_url = searcl_url + "koen_from_filter=" + koenFrom + "&";
1167		}
1168		if(koenTo != null && koenTo != ""){
1169			searcl_url = searcl_url + "koen_to_filter=" + koenTo + "&";
1170		}
1171		if(pGenre != null && pGenre != ""){
1172			searcl_url = searcl_url + "p_genre_filter=" + pGenre + "&";
1173		}
1174		if(cGenre != null && cGenre != ""){
1175			searcl_url = searcl_url + "c_genre_filter=" + cGenre + "&";
1176		}
1177		if(chiho != null && chiho != ""){
1178			searcl_url = searcl_url + "chiho_filter=" + chiho + "&";
1179			if(chiho == "01"){
1180				searcl_url = searcl_url + "todohuken_filter=01&todohuken_filter=02&todohuken_filter=03&todohuken_filter=04&todohuken_filter=05&todohuken_filter=06&todohuken_filter=07&"
1181			} else if(chiho == "05"){
1182				searcl_url = searcl_url + "todohuken_filter=08&todohuken_filter=09&todohuken_filter=10&todohuken_filter=11&todohuken_filter=12&todohuken_filter=13&todohuken_filter=14&todohuken_filter=19&"
1183			} else if(chiho == "09"){
1184				searcl_url = searcl_url + "todohuken_filter=15&todohuken_filter=16&todohuken_filter=17&todohuken_filter=18&todohuken_filter=20&"
1185			} else if(chiho == "10"){
1186				searcl_url = searcl_url + "todohuken_filter=21&todohuken_filter=22&todohuken_filter=23&todohuken_filter=24&"
1187			} else if(chiho == "11"){
1188				searcl_url = searcl_url + "todohuken_filter=25&todohuken_filter=26&todohuken_filter=27&todohuken_filter=28&todohuken_filter=29&todohuken_filter=30&"
1189			} else if(chiho == "12"){
1190				searcl_url = searcl_url + "todohuken_filter=31&todohuken_filter=32&todohuken_filter=33&todohuken_filter=34&todohuken_filter=35&todohuken_filter=36&todohuken_filter=37&todohuken_filter=38&todohuken_filter=39&"
1191			} else if(chiho == "19"){
1192				searcl_url = searcl_url + "todohuken_filter=40&todohuken_filter=41&todohuken_filter=42&todohuken_filter=43&todohuken_filter=44&todohuken_filter=45&todohuken_filter=46&todohuken_filter=47&"
1193			} else if(chiho == "99"){
1194				searcl_url = searcl_url + "todohuken_filter=90&"
1195			} else {
1196
1197			}
1198		}
1199
1200		// formタグの機能でサブミットさせず画面遷移
1201		window.location.href = searcl_url.slice(0,-1);
1202
1203		// falseを設定しておかないとformのサブミットが機能してしまう
1204		return false;
1205
1206		/*
1207		 * 公演日のURLパラメータ用への変換
1208		 */
1209		function convertKoenToUrlParam(koen) {
1210			var returnString = "";
1211			if(koen) {
1212				// 年月日に配列で分ける
1213				var koenArray = koen.split("/");
1214				// 月日は2桁0埋めで設定する
1215				returnString = koenArray[0] + ("0" + koenArray[1]).slice(-2) + ("0" + koenArray[2]).slice(-2);
1216			}
1217
1218			return returnString;
1219		}
1220	});
1221
1222	//キャンペーンバナーのトルツメ判定
1223	if($(".banner-item__image").length == 0){
1224		$("#campaign_banner").remove();
1225	};
1226
1227
1228
1229});

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.