PageSourceSearch

https://direct.samsungfire.com/resources/js/ui.main.min.js?ver=20260930

js samsungfire.com collected 2026-10-02 11:18:07 UTC 43,226 bytes, 1,171 lines download raw bytes

1var searchProductArr = [];
2var paramTagArr = [];
3var mainVisualList = new Array();
4/* Chac */
5function popChac() {
6	$plugins.uiModal({
7		id: 'modal_event',
8		name: 'modal_event',
9		isrc: '/m/util/chac.html?kind=mofront',
10		height: $(window).outerHeight() - 100,
11		ititle: 'ì°©',
12		full: true,
13		remove: true
14	});
15}
16
17//[2025리뉴얼]-S
18/*kv 스와이퍼*/
19function kvSwiperEvt() {
20	/* 2025-11-14 수정, 2025-11-17 재수정 s */
21	// kv 스와이퍼
22	var isDone = true;
23
24	var mainKvSwiper = new Swiper('.kv-swiper', {
25		speed: 400,
26		autoplay: {
27			delay: 5000,
28			disableOnInteraction: false
29		},
30		loop: true,
31		pagination: {
32			el: '.kv-swiper .utils .swiper-pagination',
33			type: 'fraction',
34			renderFraction: function (currentClass, totalClass) {
35				return `
36					<span class="${currentClass}"></span>
37					<span class="slash"></span>
38					<span class="${totalClass}"></span>
39				`;
40			}
41		},
42		navigation: {
43			nextEl: '.kv-swiper .utils .swiper-button-next',
44			prevEl: '.kv-swiper .utils .swiper-button-prev'
45		},
46		observer: true,
47		observeParents: true,
48		preventInteractionOnTransition: true,
49		on: {
50			slideChangeTransitionStart() {
51				if (isDone) {
52					isDone = false;
53					this.allowSlideNext = false;
54					this.allowSlidePrev = false;
55					this.allowTouchMove = false;
56
57					$('.kv-swiper .utils .swiper-button-next, .kv-swiper .utils .swiper-button-prev').css('pointer-events', 'none');
58
59					this.autoplay.stop();
60				}
61			},
62			slideChangeTransitionEnd() {
63				if (!isDone) {
64					isDone = true;
65					mainKvSwiper.allowSlideNext = true;
66					mainKvSwiper.allowSlidePrev = true;
67					mainKvSwiper.allowTouchMove = true;
68
69					$('.kv-swiper .utils .swiper-button-next, .kv-swiper .utils .swiper-button-prev').css('pointer-events', 'auto');
70
71					this.autoplay.start();
72				}
73			}
74		}
75	});
76	/* 2025-11-14 수정, 2025-11-17 재수정 s */
77
78	$('.kv-swiper .utils .play-btn button').on('click', function () {
79		$(this).removeClass('on').siblings('button').addClass('on');
80
81		if ($(this).hasClass('stop')) {
82			mainKvSwiper.autoplay.stop();
83		} else {
84			mainKvSwiper.autoplay.start();
85		}
86	});
87}
88
89/**원하는 보장으로 찾기 초기화*/
90function prodInfoReset() {
91	$('.product-area .product-box .condition-box .detail-filter-btns button').each(function () {
92		if ($(this).hasClass('selected')) {
93			$(this).removeClass('selected').attr({
94				title: ''
95			});
96		}
97	});
98	$('.product-area .product-box .condition-box .detail-tab-wrap').removeClass('on');
99
100	$('.product-area .product-box .condition-box .detail-tab-wrap .detail-tab-item').each(function () {
101		$(this).hide();
102		$(this).find('.tab-btns button').removeClass('selected').attr({
103			title: ''
104		});
105	});
106	$('#subProdInfo li').show();
107	$('.totalProdCnt').text($('.totalProdCnt').data('totalCnt'));
108	tagParamlist = new Array();
109	$('#paramObj').empty().parents('.selected-wrap').removeClass('active');
110}
111
112/* 보험 상품 & 카테고리로 찾기 */
113function prodInfoEvt() {
114	const $prodTabBtn = $('.main-wrap .product-area .product-tab-btn');
115	const $prodContBoxItem = $('.main-wrap .product-area .cont-box .cont-box-item');
116
117	$prodTabBtn.on('click', function () {
118		const idx = $(this).index();
119		if (!$(this).hasClass('selected')) {
120			$prodTabBtn.removeClass('selected').attr({
121				'aria-selected': false,
122				title: ''
123			});
124			$(this).addClass('selected').attr({
125				'aria-selected': true,
126				title: '선택됨'
127			});
128
129			$prodContBoxItem.removeClass('selected').attr('aria-hidden', 'true');
130			$prodContBoxItem.eq(idx).addClass('selected').attr('aria-hidden', 'false');
131
132			//원하는 보장으로 찾기 클릭시,지켜주고 싶은 대상으로 찾기 디폴트 클릭
133			if (idx == 1) {
134				$('.main-wrap .product-area .cond-tab-btn').eq(0).trigger('click');
135				$('.main-wrap .product-area .cond-tab-btn').eq(0).focus();
136			} else {
137				$('.cont-tab-wrap .cate-tab-btn').eq(0).focus();
138				prodInfoReset();
139			}
140		}
141	});
142	/* 카테고리로 찾기 */
143	const $mainTopCateItem = $('.main-wrap .cate-area .cate-list .cate-item');
144	const $prodCateTabBtn = $('.main-wrap .product-area .cate-tab-btn');
145	const $prodCateItem = $('.main-wrap .product-area .category-box .cont-wrap .cont-item');
146
147	/* 2025-10-17 수정 s */
148	// $('.main-wrap  .cate-area .cate-item.car .btn-arrow:first-child').on('click', function () {
149	// 	const prodOffsetTop = $prodContBoxItem.find('.cont-wrap .cont-item:first-child').offset().top // 2025-11-27 수정
150
151	// 	$('html, body').animate(
152	// 		{
153	// 			scrollTop: prodOffsetTop
154	// 		},
155	// 		1000
156	// 	);
157	// });
158	/* // 2025-10-17 수정 e */
159
160	//원하는 보장으로 찾기 상단 배너 옆,많은 찾는 상품 아래
161	$('.main-top-area .filter-btn').on('click', function () {
162		$('.main-wrap .product-area .product-tab-btn').eq(1).trigger('click');
163		const prodOffsetTop = $('.product-area').offset().top - $('.header-gnb-wrap').outerHeight() - 20;
164
165		$('html, body').animate(
166			{
167				scrollTop: prodOffsetTop
168			},
169			1000
170		);
171	});
172
173	/* 2025-11-13 스크립트 수정 s */
174	let isScrolling = false;
175
176	// 삼성화재 다이렉트 보험 상품 첫번째 앵커 selected 클래스 추가
177	//$prodCateTabBtn.eq(0).addClass("selected");
178
179	// 삼성화재 다이렉트 보험 상품 버튼 클릭 시
180	$prodCateTabBtn.on('click', function () {
181		if (isScrolling) return;
182
183		isScrolling = true;
184		const idx = $(this).index();
185		const $targetCateItem = $prodCateItem.eq(idx);
186		const headerTabHeight = $('.base-header-wrap').outerHeight() + $('.main-wrap .product-area .cont-tab-wrap').outerHeight(); // 2025-11-27 수정
187		const prodContOffsetTop = $targetCateItem.offset().top - headerTabHeight;
188
189		$prodCateTabBtn.removeClass('selected').attr('title', '');
190		$(this).addClass('selected').attr('title', '선택됨');
191
192		$('html, body').animate(
193			{
194				scrollTop: prodContOffsetTop
195			},
196			1000,
197			function () {
198				isScrolling = false;
199			}
200		);
201
202		setTimeout(function () {
203			const currentScroll = $(window).scrollTop();
204
205			$prodCateItem.attr('tabindex', '');
206			$targetCateItem.attr('tabindex', '0').focus();
207			$(window).scrollTop(currentScroll);
208		}, 1000);
209	});
210
211	$(window).on('scroll', function () {
212		var browserHeight = $(document).scrollTop();
213
214		if ($('.main-pc .top-banner').is(':visible')) {
215			if (browserHeight > $('.main-pc .top-banner').outerHeight()) {
216				$('.base-header').addClass('fix');
217			} else {
218				$('.base-header').removeClass('fix');
219			}
220		} else {
221			if (browserHeight > 0) {
222				$('.base-header').addClass('fix');
223			} else {
224				$('.base-header').removeClass('fix');
225			}
226		}
227
228		if (!isScrolling) {
229			$prodCateItem.each(function (idx) {
230				if ($(window).scrollTop() >= $(this).offset().top - 250) {
231					// 2025-09-19 수정
232					$prodCateTabBtn.removeClass('selected').attr('title', '');
233					$prodCateTabBtn.eq(idx).addClass('selected').attr('title', '선택됨');
234				}
235			});
236		}
237	});
238	/* // 2025-11-13 스크립트 수정 e */
239
240	//console.log($mainTopCateItem.length)
241	$mainTopCateItem.find('.cate-btn').on('click', function () {
242		$('.main-wrap .product-area .product-tab-btn').eq(0).trigger('click');
242 //상품 카테고리 찾기 활성화
243
244		const idx = $(this).closest('.cate-item').index();
245		const $targetCateItem = $prodCateItem.eq(idx);
246		const headerTabHeight = $('.main-wrap .product-area .cont-tab-wrap').outerHeight() + $('.base-header').outerHeight(); // 2025-11-27 수정
247		let prodContOffsetTop = $targetCateItem.offset().top - headerTabHeight;
248
249		// if (!$('.base-header').hasClass('fix')) {
250		// 	prodContOffsetTop = prodContOffsetTop - headerTabHeight + 80;
251		//
252
253		$('html, body').animate(
254			{
255				scrollTop: prodContOffsetTop
256			},
257			1000
258		);
259
260		setTimeout(function () {
261			const currentScroll = $(window).scrollTop();
262
263			$prodCateItem.attr('tabindex', '');
264			$targetCateItem.attr('tabindex', '0').focus();
265			$(window).scrollTop(currentScroll);
266		}, 1000);
267	});
268
269	// $(window).on('scroll', function () {
270	//     const $selectedWrap = $('.condition-box .selected-wrap');
271
272	//     const windowScrlTop = $(window).scrollTop();
273	//     const windowHeight = $(window).innerHeight();
274	//     const prodAreaOffsetTop = $('.product-area').offset().top;
275	//     const noticeAreaOffsetTop = $('.notice-area').offset().top;
276
277	//     //선택된 태그가 있을경우
278	//     if($("#paramObj .btn-item").length>0){
279	//         if (windowScrlTop >= prodAreaOffsetTop - windowHeight && windowScrlTop < noticeAreaOffsetTop - windowHeight) {
280	//             $selectedWrap.addClass('active');
281	//         } else if (windowScrlTop < prodAreaOffsetTop - windowHeight || windowScrlTop >= noticeAreaOffsetTop - windowHeight) {
282	//             $selectedWrap.removeClass('active');
283	//         }
284	//     }
285	// });
286}
287
288/*원하는 보장으로 찾기 - 태그(버튼)클릭 이벤트 */
289function prodClickEvt() {
290	const $prodCondTabBtn = $('.main-wrap .product-area .cond-tab-btn'); //지켜주고 싶은 대상 / 당신의 일상을 위한 테마
291	const $detailFilterBtn = $('.main-wrap .product-area .detail-filter-btns .detail-filter-btn'); //상위 태크
292	const $detailTabBtn = $('.main-wrap .product-area .detail-tab-wrap .detail-tab-item .tab-btns button'); //하위 태그
293
294	//지켜주고 싶은 대상, 당신의 일상을 위한 테마 보험
295	$prodCondTabBtn.on('click', function () {
296		$prodCondTabBtn.removeClass('selected').attr({
297			'aria-selected': false,
298			title: ''
299		});
300		$(this).addClass('selected').attr({
301			'aria-selected': true,
302			title: '선택됨'
303		});
304		$('.main-wrap .product-area .condition-box .cont-wrap .cont-item').addClass('selected').attr('aria-hidden', false); //상위 태그 노출
305		$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap').removeClass('on'); //하위 태그 숨김
306
307		$detailFilterBtn.removeClass('selected').attr('title', '');
308
309		$('.detail-filter-btns button').hide();
310		var strGrpCodeId = $(this).data('cateItem') == '01' ? 'A' : $(this).data('cateItem') == '02' ? 'B' : 'C';
311		$('.detail-filter-btns button').each(function () {
312			if ($(this).data('grpCodeId') == strGrpCodeId) {
313				$(this).show();
314			}
315		});
316		prodInfoReset();
317		$('.detail-filter-btns button:visible').first().focus();
318	});
319
320	//태그 클릭
321	//상위 태그 클릭
322	$detailFilterBtn.on('click', function () {
323		//상품 뷰
324		$detailFilterBtn.removeClass('selected').attr('title', '');
325		$(this).addClass('selected').attr('title', '선택됨');
326
327		var codeId = $(this).data('codeId');
328		searchProdListNew(codeId);
329
330		//상위 태그
331		/*
332		if (codeId.substring(0, 1) == 'A' || codeId.substring(0, 1) == 'B') {
333			$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap').addClass('on');
334			$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').hide();
335
336			//상위 태그에 속한 하위태그 목록
337			var objArr = [];
338			$('.main-wrap .product-area .detail-tab-wrap .detail-tab-item').each(function () {
339				if ($(this).data('parentCode') == codeId) {
340					$(this).show();
341					//setParamObj($(this).data('parentCode'));
342					searchProdListNew(codeId);
343				}
344			});
345		}
346		*/
347	});
348
349	//태그 클릭
350	//하위 태그 클릭
351	var stepIndex = 1;
352	$detailTabBtn.on('click', function () {
353		var searchTagCd = $(this).data('codeId');
354		$(this).toggleClass('selected');
355
356		//선택
357		if ($(this).hasClass('selected')) {
358			$(this).attr('data-step-index', stepIndex);
359			$(this).attr('title', '선택됨');
360
361			//선택태그를 제외한 다른 상위태그에 하위 코드는 선택해제
362			var parentCode = $(this).parents('.detail-tab-item').data('parentCode');
363			$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').each(function () {
364				if ($(this).data('parentCode') != parentCode) {
365					$(this).find('button').removeClass('selected').attr({
366						title: '',
367						'data-step-index': ''
368					});
369				}
370			});
371			stepIndex++;
372		} else {
373			//선택 해제
374			$(this).attr('title', '');
375			$(this).attr('data-step-index', '');
376		}
377		//파라미터 태그
378		setParamObj($(this).parents('.detail-tab-item').data('parentCode'));
379	});
380}
381
382//선택된 하위 태그 파라미터 표시(검은색 버튼)
383//파라미터 태그
384function setParamObj(parentCodeId) {
385	var paramHtml = '';
386	var paramTagDataArr = [];
387
388	if (parentCodeId != '') {
389		$('#paramObj .btn-item').remove();
390		$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').each(function () {
391			if ($(this).data('parentCode') == parentCodeId) {
392				$(this)
393					.find('.tab-btns button')
394					.each(function () {
395						if ($(this).hasClass('selected')) {
396							var paramObj = {};
397							paramObj.codeId = $(this).data('codeId');
398							paramObj.codeTxt = $(this).text();
399							paramObj.stepIndex = $(this).data('stepIndex');
400							paramTagDataArr.push(paramObj);
401						}
402					});
403			}
404		});
405
406		if (paramTagDataArr.length > 0) {
407			paramTagDataArr.sort((a, b) => b.stepIndex - a.stepIndex); //내림차순
408			//paramTagDataArr.sort((a,b)=> a.stepIndex - b.stepIndex);    //오름차순
409
410			paramTagDataArr.forEach(function (e) {
411				paramHtml += '<div class="btn-item">';
412				paramHtml += '<span>';
413				paramHtml += e.codeTxt;
414				paramHtml += '</span>';
415				paramHtml += '<button type="button" class="delete-btn" data-code-id="' + e.codeId + '" onClick="delParamBtn(this)">삭제</button>';
416				paramHtml += '</div>';
417			});
418			$('#paramObj').append(paramHtml);
419			$('#paramObj').parents('.selected-wrap').addClass('active');
420		} else {
421			$('#paramObj').parents('.selected-wrap').removeClass('active');
422		}
423		//상품 검색
424		searchProdList();
425	}
426}
427
428function searchProdListNew(a) {
429	var tagParamlist = new Array();
430	tagParamlist.push(a);
431
432	var requestArr = groupByFirstChar(tagParamlist);
433	var {grouped, totalCnt} = findProduct(searchProductArr, requestArr);
434	var searchCnt = 0;
435
436	if (typeof grouped != 'undefined') {
437		$('#subProdInfo li').hide();
438		for (let key in grouped) {
439			if ($('#subProdInfo').find('#' + key).length > 0) {
440				$('#subProdInfo')
441					.find('#' + key)
442					.show();
443				searchCnt++;
444			}
445		}
446		$('.totalProdCnt').text(searchCnt);
447	} else {
448		$('#subProdInfo li').show();
449	}
450
451	$('#subProdInfo').attr('tabindex', '0').focus();
452}
453
454//선택한 상위코드와 하위코드로 상품 검색
455function searchProdList() {
456	const $detailFilterBtn = $('.main-wrap .product-area .detail-filter-btns .detail-filter-btn'); //상위 태크
457	const $detailTabBtn = $('.main-wrap .product-area .detail-tab-wrap .detail-tab-item .tab-btns button'); //하위 태그
458	var tagParamlist = new Array();
459
460	var p_set_index = 0;
461	var c_set_index = 0;
462	//상위 코드 선택값
463	$detailFilterBtn.each(function () {
464		if ($(this).hasClass('selected')) {
465			tagParamlist.push($(this).data('codeId'));
466			p_set_index++;
467		}
468	});
469	//하위 코드 선택 값
470	$('#paramObj .btn-item').each(function () {
471		tagParamlist.push($(this).find('button').data('codeId'));
472		c_set_index++;
473	});
474
475	if (p_set_index > 0 && c_set_index > 0) {
476		tagParamlist.sort();
477		if (tagParamlist.length > 0) {
478			var requestArr = groupByFirstChar(tagParamlist);
479			var {grouped, totalCnt} = findProduct(searchProductArr, requestArr);
480			var searchCnt = 0;
481
482			if (typeof grouped != 'undefined') {
483				$('#subProdInfo li').hide();
484				for (let key in grouped) {
485					$('#subProdInfo')
486						.find('#' + key)
487						.show();
488					searchCnt++;
489				}
490				$('.totalProdCnt').text(searchCnt);
491			} else {
492				$('#subProdInfo li').show();
493			}
494		} else {
495			$('#subProdInfo li').show();
496			$('.totalProdCnt').text($('.totalProdCnt').data('totalCnt'));
497		}
498	} else {
499		$('#subProdInfo li').show();
500		$('.totalProdCnt').text($('.totalProdCnt').data('totalCnt'));
501	}
502}
503
504//파라미터 태그 x 버튼 클릭
505function delParamBtn(obj) {
506	var delCodeId = $(obj).data('codeId');
507	$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item button').each(function () {
508		if ($(this).data('codeId') == delCodeId) {
509			$(this).removeClass('selected').attr({
510				title: '',
511				'data-step-index': ''
512			});
513		}
514	});
515	$(obj).parents('.btn-item').remove();
516	if ($('#paramObj .btn-item').length == 0) {
517		$('#paramObj').parents('.selected-wrap').removeClass('active');
518	}
519}
520
521//알파뱃 별로 배열 추가
522function groupByFirstChar(tags) {
523	var grouped = {};
524	for (var i = 0; i < tags.length; i++) {
525		var tag = tags[i];
526		var key = tag.charAt(0);
527		if (!grouped[key]) {
528			grouped[key] = [];
529		}
530		grouped[key].push(tag);
531	}
532
533	var result = [];
534	for (var key in grouped) {
535		result.push(grouped[key]);
536	}
537	return {tagParamList: result};
538}
539
540// 많이 찾는 상품 스와이퍼
541function trendSwiperEvt() {
542	var mainTrendSwiper = new Swiper('.trend-swiper', {
543		spaceBetween: 24,
544		pagination: {
545			el: '.trend-swiper .utils .swiper-pagination'
546		},
547		navigation: {
548			nextEl: '.trend-swiper .utils .swiper-button-next',
549			prevEl: '.trend-swiper .utils .swiper-button-prev'
550		},
551		observer: true,
552		observeParents: true
553	});
554}
555
556//메인 비주얼 데이터 가공
557function changeMainData(pcKeybanner) {
558	var rtnList = new Array();
559	var rtnObj = {};
560
561	for (var z = 0; z < pcKeybanner.length; z++) {
562		rtnObj = {};
563		var codeId = pcKeybanner[z].CODE_ID;
564		var codeName = pcKeybanner[z].CODE_NAME;
565		var codeNote = pcKeybanner[z].CODE_NOTE;
566		var splitCodeId = codeId ? codeId.split('||') : '';
567		var splitMainTxt = codeName ? codeName.split('||') : '';
568		var splitMainLink = codeNote ? codeNote.split('||') : '';
569
570		if (splitCodeId.length == 3) {
571			var strDate = splitCodeId[0].replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3');
572			var strEndDate = splitCodeId[1].replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3');
573			var strSort = splitCodeId[2];
574
575			var sDate = new Date(strDate);
576			var eDate = new Date(strEndDate);
577			var toDate = new Date();
578
579			var year = toDate.getFullYear();
580			var month = (toDate.getMonth() + 1).toString().padStart(2, '0');
581			var day = toDate.getDate().toString().padStart(2, '0');
582			var hours = toDate.getHours().toString().padStart(2, '0');
583			var minutes = toDate.getMinutes().toString().padStart(2, '0');
584
585			toDate = Number(year + month + day + hours + minutes);
586			sDate = splitCodeId[0].length < 12 ? Number(splitCodeId[0] + '0000') : Number(splitCodeId[0].replace(/(\d{4})(\d{2})(\d{2})/, '$1$2$3'));
587			eDate = splitCodeId[1].length < 12 ? Number(splitCodeId[1] + '0000') : Number(splitCodeId[1].replace(/(\d{4})(\d{2})(\d{2})/, '$1$2$3'));
588
589			//메인비주얼 시작일자,종료일자 필터
590			if (toDate >= sDate && toDate <= eDate) {
591				// console.log('sDate',sDate);
592				// console.log('eDate',eDate);
593				// console.log('toDate',toDate);
594				// console.log('strDate:',strDate);
595				// console.log('strEndDate:',strEndDate);
596
597				rtnObj.startDate = strDate;
598				rtnObj.endDate = strEndDate;
599				rtnObj.sort = strSort;
600
601				rtnObj.mainTxt = splitMainTxt[0];
602				rtnObj.subTxt = splitMainTxt[1];
603				rtnObj.btnTxt = splitMainTxt[2];
604
605				rtnObj.btnLink = splitMainLink[0];
606				rtnObj.mainViewImgSrc = splitMainLink[1];
607				rtnObj.btnLinkColor = splitMainLink[2];
608				rtnObj.mainViewImgAlt = splitMainLink[3];
609			} else {
610				rtnObj = null;
611			}
612		}
613		if (rtnObj != null) rtnList.push(rtnObj);
614	}
615	//console.log('rtnList1:',rtnList)
616	if (rtnList.length > 0) {
617		rtnList.sort((a, b) => a.sort - b.sort);
618	}
619	return rtnList;
620}
621
622//[2025리뉴얼]-E
623
624$(document).ready(function () {
625	//[2025리뉴얼]
626	//상품
627	$.ajax({
628		type: 'GET',
629		url: '/resources/json/main_product.json',
630		data: '',
631		contentType: 'application/json; charset=utf-8',
632		dataType: 'json',
633		cache: false,
634		error: function (xhr, ajaxOptions, thrownError) {
635			$('#prodInfo').html("<p class='center'>상품 정보를 정상적으로 불러오지 못했습니다.</p>");
636		},
637		success: function (data) {
638			var calcNum = data.mainProduct.length;
639			var mainProd = data.mainProduct;
640			var prodCateAreaHtml = '';
641			var prodNaviHtml = '';
642			var prodHtml = '';
643			var subProdHtml = '';
644			var prodTotalCnt = 0;
645
646			//console.log(calcNum)
647			for (var i = 0; i < calcNum; i++) {
648				var naviTitle = mainProd[i].category.naviTitle;
649				var cateCls = mainProd[i].category.cateCls;
650				var catePrdAnalyze = mainProd[i].category.moPrdClickAnalyze;
651				var titleS = mainProd[i].main.titleS;
652				var titleL = mainProd[i].main.titleL;
653				var subTitle = mainProd[i].main.subTitle;
654				var subInfo = mainProd[i].main.subInfo;
655				var pcVisualImg = mainProd[i].main.pcVisualImg;
656				var pcVisualImgTag = mainProd[i].main.pcVisualImgTag;
657				var mainBtns = mainProd[i].mainButton;
658				var mainProdList = mainProd[i].prdList;
659				var prdCallList = mainProd[i].prdCallList;
660				var tag_cls = '';
661
662				//상품 cate-area
663				//console.log(cateCls)
664				if (typeof cateCls != 'undefined' && cateCls != '') {
665					switch (cateCls) {
666						case 'car':
667							tag_cls = 'nth_home_Prd01_car';
668							break;
669						case 'driver':
670							tag_cls = 'nth_home_Prd02_driver';
671							break;
672						case 'health':
673							tag_cls = 'nth_home_Prd04_health';
674							break;
675						case 'insurance-medical':
676							tag_cls = 'nth_home_Prd04_loss';
677							break;
678						case 'fire':
679							tag_cls = 'nth_home_Prd03_fire';
680							break;
681						case 'travel':
682							tag_cls = 'nth_home_Prd06_travel';
683							break;
684						case 'pet':
685							tag_cls = 'nth_home_Prd08_pet';
686							break;
687						case 'ill':
688							tag_cls = 'nth_home_Prd10_sick';
689							break;
690						case 'teeth':
691							tag_cls = 'nth_home_Prd05_cancer';
692							break;
693						case 'property':
694							tag_cls = 'nth_home_Prd09_property';
695							break;
696						case 'child':
697							tag_cls = 'nth_home_Prd07_kids';
698							break;
699						case 'ai':
700							tag_cls = 'nth_home_Prd09_analysis';
701							break;
702					}
703
704					if (cateCls == 'car') {
705						prodCateAreaHtml += '<li class="cate-item car">';
706						prodCateAreaHtml += ' <div class="item-cont">';
707						prodCateAreaHtml += '     <p class="tit">' + naviTitle + '</p>';
708						prodCateAreaHtml += '     <div class="btn-wrap">';
709						prodCateAreaHtml += '         <button type="button" class="round-btn cate-btn small line nth_home_car_products"><span>상품보기</span></button>';
710						prodCateAreaHtml += '         <a href="/mydirect/PP020301_001.html?ver=' + Math.floor(Math.random() * 1000) + '" class="round-btn small line nth_home_car_change" title="링크 이동"><span>계약변경</span></a>';
711						prodCateAreaHtml += '     </div>';
712						prodCateAreaHtml += ' </div>';
713						prodCateAreaHtml += '</li>';
714					} else {
715						prodCateAreaHtml += '<li class="cate-item">';
716						prodCateAreaHtml += ' <button type="button" class="cate-btn ' + tag_cls + '">';
717						prodCateAreaHtml += '     <p class="tit fs-16-b ' + cateCls + '">' + naviTitle + '</p>';
718						prodCateAreaHtml += ' </button>';
719						prodCateAreaHtml += '</li>';
720					}
721				}
722
723				//카테고리로 찾기-navi
724				if (naviTitle.length > 0) {
725					prodNaviHtml += '<button type="button" class="cate-tab-btn ' + catePrdAnalyze + '">' + naviTitle + '</button>';
726				}
727
728				//카테고리로 찾기-상품목록
729				prodHtml += '<div class="cont-item">';
730				prodHtml += '     <div class="tit-box">';
731				prodHtml += '         <div class="left">';
732				prodHtml += '             <p class="cate-tit fs-20">' + naviTitle + '</p>';
733				prodHtml += '             <p class="cate-desc fs-30-b">' + titleL + '</p>';
734				prodHtml += '             <p class="cate-etc-info fs-14-r">' + titleS + '</p>';
735				prodHtml += '         </div>';
736				prodHtml += '         <div class="right">';
737				prodHtml += '             <img src="' + pcVisualImg + '" alt="" />';
738				prodHtml += '         </div>';
739				prodHtml += '     </div>';
740
741				prodHtml += '     <div class="prod-list-box">';
742				prodHtml += '         <ul class="prod-list">';
743
744				if (mainProdList.length > 0) {
745					for (var k = 0; k < mainProdList.length; k++) {
746						var productTitle = mainProdList[k].productTitle ? mainProdList[k].productTitle : '';
747						var productCont = mainProdList[k].productCont ? mainProdList[k].productCont : '';
748						var productSubCont = mainProdList[k].productSubCont ? mainProdList[k].productSubCont : '';
749						var link_target = mainProdList[k].link_target ? mainProdList[k].link_target : '_self';
750						var link_pc = mainProdList[k].link_pc ? mainProdList[k].link_pc : '';
751						var obj_key = mainProdList[k].obj_key ? mainProdList[k].obj_key : '';
752						var clickAnalyzeCls = mainProdList[k].moPrdClickAnalyze ? mainProdList[k].moPrdClickAnalyze : '';
753						var title = mainProdList[k].title ? mainProdList[k].title : '링크 이동';
754
755						if (obj_key != '' && link_pc != '') {
756							if (!link_pc.toLowerCase().startsWith('javascript:')) {
757								var separator = link_pc.includes('?') ? '&' : '?';
758								var ver = Math.floor(Math.random() * 1000);
759								link_pc = link_pc + separator + 'ver=' + ver;
760							}
761							//카테고리로 찾기-상품목록
762							prodHtml += '     <li class="prod-item">';
763							prodHtml += '         <a class="' + clickAnalyzeCls + '" href="' + link_pc + '" target="' + link_target + '" title="' + title + '">';
764							prodHtml += '             <p class="tit fs-24">' + productTitle + '</p>';
765							prodHtml += '             <p class="desc">' + productCont + '</p>';
766							if (productSubCont != '') {
767								prodHtml += '             <p class="sub-desc">' + productSubCont + '</p>';
768							}
769
770							prodHtml += '         </a>';
771							prodHtml += '     </li>';
772
773							//원하는 조건으로 찾기-상품목록
774							subProdHtml += '  <li class="prod-item" id="' + obj_key + '">';
775							subProdHtml += '      <a href="' + link_pc + '" target="' + link_target + '" title="링크 이동">';
776							subProdHtml += '          <p class="tit fs-24">' + productTitle + '</p>';
777							subProdHtml += '          <p class="desc">
777' + productCont + '</p>';
778							subProdHtml += '      </a>';
779							subProdHtml += '  </li>';
780
781							prodTotalCnt++;
782							//console.log(prodTotalCnt, productTitle, '['+obj_key+']')
783						}
784					}
785				}
786				//카테고리로 찾기-상품목록
787				prodHtml += '         </ul>';
788
789				// Call 전용 상품
790				if (typeof prdCallList != 'undefined' && prdCallList.length > 0) {
791					prodHtml += '     <ul class="prod-list">';
792					for (var j = 0; j < prdCallList.length; j++) {
793						var productTitle = prdCallList[j].productTitle ? prdCallList[j].productTitle : '';
794						var productCont = prdCallList[j].productCont ? prdCallList[j].productCont : '';
795						var productSubCont = prdCallList[j].productSubCont ? prdCallList[j].productSubCont : '';
796						var link_target = prdCallList[j].link_target ? prdCallList[j].link_target : '_self';
797						var link_pc = prdCallList[j].link_pc ? prdCallList[j].link_pc : '';
798						var clickAnalyzeCls = prdCallList[j].moPrdClickAnalyze ? prdCallList[j].moPrdClickAnalyze : '';
799
800						if (link_pc != '') {
801							if (!link_pc.toLowerCase().startsWith('javascript:')) {
802								var separator = link_pc.includes('?') ? '&' : '?';
803								var ver = Math.floor(Math.random() * 1000);
804								link_pc = link_pc + separator + 'ver=' + ver;
805							}
806							prodHtml += '     <li class="prod-item">';
807							prodHtml += '         <a class="' + clickAnalyzeCls + '" href="' + link_pc + '" target="' + link_target + '" title="링크 이동">';
808							prodHtml += '             <p class="tit fs-24 call">' + productTitle + '</p>';
809							prodHtml += '             <p class="desc">' + productCont + '</p>';
810							prodHtml += '             <p class="sub-desc">' + productSubCont + '</p>';
811							prodHtml += '         </a>';
812							prodHtml += '     </li>';
813						}
814					}
815					prodHtml += '     </ul>';
816				}
817
818				prodHtml += '     </div>';
819				prodHtml += '</div>';
820			} // for
821
822			prodCateAreaHtml += '<li class="cate-item">';
823			prodCateAreaHtml += '   <button type="button" class="nth_home_Prd10_gift" onClick="$plugins.uiModal({ id:\'modal_PP030906_052\', full:false, link:\'/modal/PP030906_052.html\' });">';
824			prodCateAreaHtml += '      <p class="tit fs-16-b gift">보험 선물</p>';
825			prodCateAreaHtml += '    </button>';
826			prodCateAreaHtml += '</li>';
827
828			//상품 카테고리 arear
829			$('#prodCateArea').empty().html(prodCateAreaHtml);
830			//카테고리로 찾기-상품Navi
831			$('#prodInfoNavi').empty().html(prodNaviHtml);
832			//카테고리로 찾기-상품목록
833			$('#prodInfo').empty().html(prodHtml);
834			//원하는 조건으로 찾기-상품목록
835			$('.totalProdCnt').text(prodTotalCnt);
836			$('.totalProdCnt').attr('data-total-cnt', prodTotalCnt);
837			$('#subProdInfo').empty().html(subProdHtml);
838
839			prodInfoEvt();
840		} //success
841	}); //ajax
842
843	/* 많이 찾는 상품,원하는 조건으로 찾기,인기 검색어,상품찾기,메인비주얼 */
844	var tranId = 'VD.CMDJ0129';
845	var url = '/vd/data/' + tranId + '.do';
846	var sendObj = {getGrpList: ['PROD_SEARCH', 'PROD_SEARCH_TAG', 'POP_SEARCH', 'PROD_FIND_YN', 'PROD_FIND', 'PROD_FIND_BATCH', 'PC_KEYBANNER']};
847	var param = "header={tranId:'" + tranId + "'}&body=" + encodeURIComponent(JSON.stringify(sendObj));
848	//console.log(sendObj);
849
850	$.ajax({
851		url: url,
852		type: 'POST',
853		data: param,
854		dataType: 'json',
855		contentType: 'application/x-www-form-urlencoded;charset=UTF-8',
856		error: function (req, statuc) {
857			console.log('데이터 조회 중 에러가 발생하였습니다.');
858		},
859		success: function (result, status, response) {
860			var obj = result.responseMessage.body;
861
862			if (typeof obj != 'undefined' && obj != null) {
863				var popSearchObj = obj.POP_SEARCH;
864				var prodFind = obj.PROD_FIND;
865				var prodFindYn = obj.PROD_FIND_YN;
866				var prodFindBatch = obj.PROD_FIND_BATCH;
867				var prodSearchTag = obj.PROD_SEARCH_TAG;
868				var prodSearch = obj.PROD_SEARCH;
869				var pcKeybanner = obj.PC_KEYBANNER;
870
871				searchProductArr = prodSearch; //상품검색목록
872
873				//console.log('인기 검색어:',popSearchObj);
874				//console.log('많이 찾는 상품(직접등록):',prodFind);
875				//console.log('많이 찾는 상품 코드관리 사용 여부:',prodFindYn);
876				//console.log('많이 찾는 상품(배치):',prodFindBatch);
877				//console.log('태그 목록:',prodSearchTag);
878				//console.log('태그에 해당하는 상품목록:',prodSearch);
879				//console.log('메인 비주얼:',pcKeybanner);
880				//로그용
881
882				// for(var o=0; o<prodSearch.length; o++){
883				//     console.log(prodSearch[o].CODE_ID + ':' + prodSearch[o].CODE_NOTE)
884				// }
885
886				//메인 비주얼 grid-S
887				if (typeof pcKeybanner != 'undefined' && pcKeybanner.length > 0) {
888					//인사이트-코드관리 데이터를 가공하여 새로운 list 로 return;
889					mainVisualList = changeMainData(pcKeybanner);
890
891					if (mainVisualList.length > 0) {
892						var mainHtml = '';
893						for (var p = 0; p < mainVisualList.length; p++) {
894							var mainTxt = mainVisualList[p].mainTxt ? mainVisualList[p].mainTxt : '';
895							var subTxt = mainVisualList[p].subTxt ? mainVisualList[p].subTxt : '';
896							var btnLink = mainVisualList[p].btnLink ? mainVisualList[p].btnLink : '';
897							var btnLinkColor = mainVisualList[p].btnLinkColor ? mainVisualList[p].btnLinkColor : '';
898							var btnTxt = mainVisualList[p].btnTxt ? mainVisualList[p].btnTxt : '';
899							var mainViewImgSrc = mainVisualList[p].mainViewImgSrc ? mainVisualList[p].mainViewImgSrc : '';
900							var mainViewImgAlt = mainVisualList[p].mainViewImgAlt ? mainVisualList[p].mainViewImgAlt : '';
901
902							mainTxt = $plugins.page.xssDefending(mainTxt);
903							subTxt = $plugins.page.xssDefending(subTxt);
904							btnLink = $plugins.page.xssDefending(btnLink);
905
906							mainHtml += '<div class="swiper-slide" style="background-color:' + btnLinkColor + '">';
907							mainHtml += ' <p class="tit fs-40">' + mainTxt + '</p>';
908							mainHtml += ' <p class="desc">' + subTxt + '</p>';
909							mainHtml += ' <div class="btn-wrap">';
910							mainHtml += '     <a href="' + btnLink + '" class="nth_home_BigBanner0' + (p + 1) + '"><span>' + btnTxt + '</span></a>';
911							mainHtml += ' </div>';
912							mainHtml += ' <div class="img">';
913							mainHtml += '     <img src="' + mainViewImgSrc + '" alt="' + mainViewImgAlt + '" />';
914							mainHtml += ' </div>';
915							mainHtml += '</div>';
916						}
917						$('.kv-swiper .swiper-wrapper').empty().html(mainHtml);
918						kvSwiperEvt();
919					} else {
920						$('.kv-swiper .utils').hide();
921						$('.main-wrap .main-top-area').hide();
922					}
923				}
924				//메인 비주얼 grid-E
925
926				//많이 찾는 상품 목록 grid-S
927				if (typeof prodFind != 'undefined' && prodFind.length > 0) {
928					var findYn = prodFindYn[0].CODE_ID ? (typeof prodFindBatch != 'undefined' && prodFindBatch.length > 0 ? prodFindYn[0].CODE_ID : 'Y') : 'Y';
929					var listObj = findYn == 'Y' ? prodFindFil(prodFind) : prodFindFil(prodFindBatch);
930					var trendHtml = '';
931					var index = 1;
932					var today = new Date();
933					var yesterday = new Date(today.setDate(today.getDate() - 1));
934					var strDate = yesterday.getFullYear() + '.' + (yesterday.getMonth() + 1 >= 10 ? yesterday.getMonth() + 1 : '0' + (yesterday.getMonth() + 1)) + '.' + (yesterday.getDate() >= 10 ? yesterday.getDate() : '0' + yesterday.getDate());
935
936					//console.log(strDate)
937					//console.log('[상품 구분여부]',findYn=='Y' ? '관리자 등록 상품' : '배치로 등록된 상품');
938					//console.log('listObj',listObj);
939
940					for (var i = 0; i < listObj.length; i++) {
941						var num = i + 1 < 10 ? '0' + (i + 1) : i + 1;
942
943						var codeNote = listObj[i].CODE_NOTE ? listObj[i].CODE_NOTE : 'javascript:#';
944
945						if (index <= 10) {
946							if (index == 1 || index == 6 || index == 11) {
947								trendHtml += '<div class="swiper-slide">';
948								trendHtml += '    <ul class="trend-list">';
949							}
950							trendHtml += '        <li>';
951							trendHtml += '            <span class="fs-14-b">' + (i + 1) + '</span>';
952							trendHtml += '            <a href="' + codeNote + '" title="링크 이동" class="nth_home_Pop' + num + '">' + listObj[i].CODE_NAME + '</a>';
953							trendHtml += '        </li>';
954
955							if (index == 5 || index == 10 || index == 15) {
956								trendHtml += '    </ul>';
957								trendHtml += '</div>';
958							}
959							index++;
960						}
961					}
962					$('.trend-area .date.fs-12-r').text(strDate + ' 기준');
963					$('.trend-area .swiper-wrapper').empty().html(trendHtml);
964
965					trendSwiperEvt();
966				}
967				//많이 찾는 상품 목록 grid-E
968
969				//태그 목록 grid-S
970				//2025-09-22 상품찾기 기능 사용안함(현업 요청)
971
972				if (typeof prodSearchTag != 'undefined' && prodSearchTag.length > 0) {
973					var parentTagHtml = '';
974					var childTagHtml = '';
975					var strCode = '';
976
977					for (var i = 0; i < prodSearchTag.length; i++) {
978						var codeId = prodSearchTag[i].CODE_ID;
979						var nextCodeId = typeof prodSearchTag[i + 1] != 'undefined' ? prodSearchTag[i + 1].CODE_ID : '';
980						var subCodeId = codeId.substring(0, 1);
981						var subNextCodeId = nextCodeId ? nextCodeId.substring(0, 1) : '';
982
983						//원하는 보장으로 찾기-S
984						//상위 태그
985						if (subCodeId == 'A' || subCodeId == 'B' || subCodeId == 'C') {
986							var imgCls = '';
987							switch (codeId) {
988								case 'A01':
989									imgCls = 'personal';
990									break;
991								case 'A02':
992									imgCls = 'parents';
993									break;
994								case 'A03':
995									imgCls = 'child';
996									break;
997								case 'A04':
998									imgCls = 'friend';
999									break;
1000								case 'A05':
1001									imgCls = 'pet';
1002									break;
1003								case 'A06':
1004									imgCls = 'work';
1005									break;
1006								case 'A07':
1007									imgCls = 'house';
1008									break;
1009								case 'A08':
1010									imgCls = 'mobility';
1011									break;
1012								case 'B01':
1013									imgCls = 'travel';
1014									break;
1015								case 'B02':
1016									imgCls = 'golf';
1017									break;
1018
1019								case 'C01':
1020									imgCls = 'golf';
1021									break;
1022							}
1023							parentTagHtml += '<button type="button" class="detail-filter-btn ' + imgCls + '" data-code-id="' + prodSearchTag[i].CODE_ID + '" data-grp-code-id="' + subCodeId + '">';
1024							parentTagHtml += '    <span>' + prodSearchTag[i].CODE_NAME + '</span>';
1025							parentTagHtml += '</button>';
1026						} else {
1027							//원하는 보장으로 찾기 - 하위 태그
1028
1029							var childTitl = '';
1030							switch (subCodeId) {
1031								case 'D':
1032									childTitl = '걱정되는 <span>위험</span>으로 찾기(본인,부모,자녀,친구)';
1033									break;
1034								case 'E':
1035									childTitl = '보장받고 싶은 치료방식';
1036									break;
1037								case 'F':
1038									childTitl = '보험금 유형';
1039									break;
1040								case 'G':
1041									childTitl = '걱정되는 <span>위험</span>으로 찾기(주택,사업장)';
1042									break;
1043								case 'H':
1044									childTitl = '걱정되는 <span>위험</span>으로 찾기(여행)';
1045									break;
1046								case 'I':
1047									childTitl = '여행지역';
1048									break;
1049								case 'J':
1050									childTitl = '걱정되는 <span>위험</span>으로 찾기(반려동물)';
1051									break;
1052								case 'K':
1053									childTitl = '걱정되는 <span>위험</span>으로 찾기(골프/레저)';
1054									break;
1055								case 'L':
1056									childTitl = '교통수단(모빌리티)';
1057									break;
1058								case 'M':
1059									childTitl = '걱정되는 <span>위험</span>으로 찾기(모빌리티)';
1060									break;
1061							}
1062
1063							if (strCode != subCodeId) {
1064								childTagHtml += '<div class="detail-tab-item" id="TAG_OBJ_' + subCodeId + '" style="display:none">';
1065								childTagHtml += '   <p class="tit fs-18-b">' + childTitl + '</p>';
1066								childTagHtml += '   <div class="tab-btns">';
1067								strCode = subCodeId;
1068							}
1069
1070							childTagHtml += '           <button type="button" class="fs-18-r" data-code-id="' + prodSearchTag[i].CODE_ID + '">' + prodSearchTag[i].CODE_NAME + '</button>';
1071
1072							if (strCode != subNextCodeId) {
1073								childTagHtml += '   </div>';
1074								childTagHtml += '</div>';
1075							}
1076						}
1077						//원하는 보장으로 찾기-E
1078					}
1079					//상위 태그
1080					$('.cont-box-item .cont-wrap .cont-item .detail-filter-btns').empty().html(parentTagHtml);
1081					//하위 태그
1082					$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap').empty().html(childTagHtml);
1083
1084					//하위태그(걱정되는 위험,보험금 유형 태그 상위 태그만큼 복사)
1085					//본인,부모,자녀,친구는 동일한 하위 태그를 사용하여 하나로 같이 사용 하려 했지만
1086					//각 상위 코드 별 독립적으로 값을 갖고 있어야 하기 때문에..
1087					for (var cl = 0; cl < 3; cl++) {
1088						$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap').prepend($('#TAG_OBJ_F').clone());
1089						$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap').prepend($('#TAG_OBJ_D').clone());
1090					}
1091
1092					//하위 코드 object에 상위코드 부여
1093					$('.cont-box-item .cont-wrap .cont-item .detail-filter-btns button').each(function () {
1094						switch ($(this).data('codeId')) {
1095							case 'A01':
1096								$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').eq(0).attr('data-parent-code', $(this).data('codeId'));
1097								$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').eq(1).attr('data-parent-code', $(this).data('codeId'));
1098								break;
1099							case 'A02':
1100								$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').eq(2).attr('data-parent-code', $(this).data('codeId'));
1101								$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').eq(3).attr('data-parent-code', $(this).data('codeId'));
1102								break;
1103							case 'A03':
1104								$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').eq(4).attr('data-parent-code', $(this).data('codeId'));
1105								$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').eq(5).attr('data-parent-code', $(this).data('codeId'));
1106								break;
1107							case 'A04':
1108								$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').eq(6).attr('data-parent-code', $(this).data('codeId'));
1109								$('.cont-box-item .cont-wrap .cont-item .detail-tab-wrap .detail-tab-item').eq(7).attr('data-parent-code', $(this).data('codeId'));
1110								break;
1111							case 'A05':
1112								$('#TAG_OBJ_J').attr('data-parent-code', $(this).data('codeId'));
1113								break;
1114							case 'A06':
1115								$('#TAG_OBJ_G').attr('data-parent-code', $(this).data('codeId'));
1116								break;
1117							case 'A08':
1118								$('#TAG_OBJ_M').attr('data-parent-code', $(this).data('codeId'));
1119								break;
1120							case 'B01':
1121								$('#TAG_OBJ_H').attr('data-parent-code', $(this).data('codeId'));
1122								break;
1123							case 'B02':
1124								$('#TAG_OBJ_K').attr('data-parent-code', $(this).data('codeId'));
1125								break;
1126						}
1127					});
1128					//상품찾기 클릭 이벤트
1129					prodClickEvt();
1130				}
1131
1132				//태그 목록 grid-S
1133			}
1134		}
1135	});
1136
1137	//알립니다.
1138	$plugins.uiAjax({url: '/resources/json/notice.json', page: false, callback: callbackNotice});
1139	function callbackNotice(v) {
1140		var nt = v.list,
1141			nt_len = nt.length,
1142			html_noti = '';
1143
1144		for (var i = 0; i < nt_len; i++) {
1145			var num = i + 1 < 10 ? '0' + (i + 1) : i + 1;
1146			var title = nt[i].tit.replace(/^(\[[^\]]+\])/, "<span class='cate'>$1</span>");
1147
1148			html_noti += '<li class="noti-item"><a href="' + nt[i].link + '" title="링크 이동" class="nth_home_Board' + num + '">' + title + '</a></li>';
1149		}
1150		$('#listNoti').append(html_noti);
1151		html_noti = '';
1152	}
1153	// kvSwiperEvt();
1154
1155	/* 2025-11-27 추가 s */
1156	// 새로고침 시 문서 최상단으로 위치
1157	// if ('scrollRestoration' in history) {
1158	// 	history.scrollRestoration = 'manual';
1159	// }
1160
1161	// $(window).on('beforeunload', function () {
1162	// 	$(this).scrollTop(0);
1163	// });
1164	/* // 2025-11-27 추가 e */
1165});
1166
1167/* web push 추가 */
1168var direct_domain = window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
1169if ($global.uiCheck.app === false && $global.uiCheck.ie === false && $global.uiCheck.ios !== true && direct_domain.search('testdirect.samsungfire.com') == -1 && direct_domain.search('devdirect.samsungfire.com') == -1 && !$('html').hasClass('safari') && $global.uiPara('init') === 'webpush') {
1170	$('body').append('<iframe src="/util/webpush.html" frameborder="0" width="0" height="0" style="display:none;position:absolute;
1170left:-99999em;bottom:-99999em;">');
1171}

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.