PageSourceSearch

https://groomingjok.io/store

html groomingjok.io collected 2026-10-02 01:57:28 UTC 287,930 bytes, 7,110 lines download raw bytes

1<!doctype html>
2<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.thymeleaf.org "
3		lang="en"
4>
5<head>
6	
7	<meta charset="utf-8">
8	<meta name="viewport"
9		content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
10	<meta name="facebook-domain-verification" content="jyntulevb03x6n6qqbdooakvsuhb50" />
11
12	<!-- css -->
13	
14	<!--<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"
15			integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'">
16	<link th:href="@{'/css/common'+ ${__min__} +'.css'(ver=${__pub__})}" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'">
17	<noscript>
18	</noscript>-->
19	<!-- <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"
20	      integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous" rel="stylesheet"> -->
21	<!-- <link th:href="@{'/css/common'+ ${__min__} +'.css'(ver=${__pub__})}" rel="stylesheet"> 퍼블 오면 요청 -->
22	<!-- <link th:href="@{'/css/common.css'(ver=${__pub__})}" rel="stylesheet"> -->
23	<!--
23<script th:src="@{'/lib/common-correct-css'+ ${__min__} +'.js'(ver=${__pub__})}"></script>
23-->
24	<!-- <th:block layout:fragment="ex-css-mypage"></th:block>
25	<th:block layout:fragment="ex-css-member"></th:block> -->
26	<link href="/favicon.ico?ver=200427" rel="icon"/>
27
28	<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css' />
29	<link rel='stylesheet' href='/css/jquery-ui.css'>
30	<link rel="stylesheet" href="/css/style.css?ver=25-06-17-1400">
31
32	<!-- Google Tag Manager -->
33<script>
34    /*<![CDATA[*/
35    /*]]>*/
36</script>
36
37		
38		<!-- head-seo-->
39		<!-- google 대응 -->
40		<meta name="google-site-verification" content="f79wBG6xrqqw7JSSdNJxwMWiILXHMO2ld_d07KEgoxw"/>
41
42		<!-- 네이버 대응 -->
43		<!-- <meta name="naver-site-verification" content="a6178a0bde2144c7ab9f31ca03479b569de830ff"/> 중복으로인한 주석-->
44		<link rel="canonical" href="https://www.groomingjok.io/store"/>
45
46		<!-- bing, 야후 대응 -->
47		<meta name="msvalidate.01" content="568EF949BE5F5DED45F610E0F761F40C" />
48
49		<!-- SEO 대응 -->
50		<title>그루밍족 l 남자 성형 정보앱</title>
51		<meta name="description" content="그루밍족 | 남자 성형 정보앱"/>
52		<meta name="keywords" content="그루밍족 , GroomingJok, 쌍거풀수술, 눈매교정, 성형, 가슴성형, 강남언니, 코성형,  바비톡, 코성형, 외국인 성형, 다국어성형, K뷰티, 케이뷰티, 뷰티, 방학, 한국여행, 휴가, 외모"/>
53		<meta property="og:type" content="website"/>
54		<meta property="og:image" content="https://www.groomingjok.io/img/logo.svg"/>
55		<meta property="og:site_name" content="GroomingJok - 그루밍족 | 남자 성형 정보앱"/>
56		<meta property="og:title" content="그루밍족 l 남자 성형 정보앱"/>
57		<meta property="og:description" content="그루밍족 | 남자 성형 정보앱"/>
58		<meta property="og:url" content="https://www.groomingjok.io/store"/>
59		<!--  -->
60		
61		<!-- tommy 네이버 웹마스터 메타태그 -->
62		<meta name="naver-site-verification" content="a6178a0bde2144c7ab9f31ca03479b569de830ff"/>
63		
64		
64<script async src='https://www.google-analytics.com/analytics.js'></script>
64
65
66		<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 66 bytes, lines 66-67
66
67		<script async src="https://www.googletagmanager.com/gtag/js?id=
67UA-163489448-1
vendor: 14 bytes, lines 67-68
67"></script>
68		
68<script>
69		  
vendor: 142 bytes, lines 69-73
69window.dataLayer = window.dataLayer || [];
70		  function gtag(){dataLayer.push(arguments);}
71		  gtag('js', new Date());
72		
73		  gtag('config', '
73UA-163489448-1
vendor: 13 bytes, lines 73-75
73');
74		  
75		  
75window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
76		  ga('create', 'UA-163489448-1', 'auto');
77		  ga('send', 'pageview');
78		</script>
78
79		<!-- //End Global site tag (gtag.js) - Google Analytics -->
80		
81		<!-- Global site tag (gtag.js) - Google Ads: 650837381 -->
vendor: 66 bytes, lines 81-82
81
82		<script async src="https://www.googletagmanager.com/gtag/js?id=
82AW-650837381
vendor: 14 bytes, lines 82-83
82"></script>
83		
83<script>
84		  
vendor: 142 bytes, lines 84-88
84window.dataLayer = window.dataLayer || [];
85		  function gtag(){dataLayer.push(arguments);}
86		  gtag('js', new Date());
87		
88		  gtag('config', '
88AW-650837381
vendor: 6 bytes, lines 88-89
88');
89		
89</script>
89
90		
91		<!-- Facebook Pixel Code -->
92		
92<script>
vendor: 434 bytes, lines 92-101
92
93			!function(f,b,e,v,n,t,s)
94			{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
95					n.callMethod.apply(n,arguments):n.queue.push(arguments)};
96				if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
97				n.queue=[];t=b.createElement(e);t.async=!0;
98				t.src=v;s=b.getElementsByTagName(e)[0];
99				s.parentNode.insertBefore(t,s)}(window, document,'script',
100					'https://connect.facebook.net/en_US/fbevents.js');
101			fbq('init', '
1011643428045825303
vendor: 35 bytes, lines 101-103
101');
102			fbq('track', 'PageView');
103		
103</script>
103
104		
105		<!-- kakaoPixel -->		
106		
106<script type="text/javascript" charset="UTF-8" src="//t1.daumcdn.net/adfit/static/kp.js"></script>
106
107		
107<script type="text/javascript">
108		      kakaoPixel('5213982040864504465').pageView();
109		</script>
109
110		
111		
112		<noscript><img height="1" width="1" style="display:none"
113					   src="https://www.facebook.com/tr?id=1643428045825303&ev=PageView&noscript=1"
114		/></noscript>
115		<!-- //End Facebook Pixel Code -->
116		
117		<!-- //End head-seo-->
118	
119	<!-- Enliple Common Tracker v3.6 [공용] start -->
120<script type="text/javascript">
121	<!--
122	function mobRf() {
123		var rf = new EN();
124		rf.setData("userid", "beautysocial");
125		rf.setSSL(true);
126		rf.sendRf();
127	}
128	//-->
129</script>
vendor: 1 bytes, line 129
129
130<script src="https://cdn.megadata.co.kr/js/en_script/3.6/enliple_min3.6.js"
131		defer="defer" onload="mobRf()"></script>
131
132<!-- Enliple Common Tracker v3.6 [공용] end -->
133
134</head>
135
136<body>
137
138	<!-- Google Tag Manager (noscript) -->
139	<!-- End Google Tag Manager (noscript) -->
140
141
142	<style>
143		@-webkit-keyframes intro-open {
144			from { transform:translateY(100%); }
145			100% { transform:translateY(0); }
146		}
147		@keyframes intro-open {
148			from { transform:translateY(100%); }
149			100% { transform:translateY(0); }
150		}
151		@-webkit-keyframes intro-close {
152			from { transform:translateY(0); }
153			100% { transform:translateY(100%); }
154		}
155		@keyframes intro-close {
156			from { transform:translateY(0); }
157			100% { transform:translateY(100%); }
158		}
159	</style>
160    <div id="intro" style="background-color: white;
161			position: fixed;
162			width: 100%;
163			display: none">
164	    <div>
165		    <object type="image/svg+xml" data="/img/logo.svg"></object>
166	    </div>
167        <!--<h1 class="logo text-hide"><img th:data-src="@{/img/logo.png}"
168                                        th:alt="#{common.msg.title.groomingjok}"
169                                        th:text="#{common.msg.title.groomingjok}"
170										class="lazy"
171        >BeautySocial</h1>-->
172    </div>
173	
173<script>
174		/*<![CDATA[*/
175		var intro = (function() {
176			var ns = 'intro';
177			var _pEle = document.querySelector('#intro');
178			var _interface = {};
179            _interface.close = function () {
180                _pEle.style.animation ='intro-close .3s ease both';
181                setTimeout(function () {
182					_pEle.style.display = 'none';
183					_pEle.style.zIndex = '-1';
184                }, 430);
185            };
186            _interface.open = function () {
187                _pEle.style.display = '';
188                _pEle.style.zIndex = '9998';
189                _pEle.style.animation ='intro-open .3s ease both';
190                /*lazyLoading(sel('img', _pEle), true).setImagesSrc(function (imageEl) {
191                    return hasClass(imageEl, 'lazy');
192                });*/
193            };
194			return _interface;
195		})();
196		/*]]>*/
197	</script>
197
198
199
200	<!--overlay-->
201	<div id="overlayWrapper" class="box" style="
202			position: fixed;
203			top: 0; left: 0;
204			width: 100%; height: 100%;
205			background: none; border: none; box-shadow: none;
206			display: none;
207			z-index: -1
208	">
209		<div id="loading" style="
210				position: absolute;
211				top: 0;
212				left: 0;
213				width: 100%;
214				height: 100%;
215				background: rgba(255,255,255,0);
216				border-radius: 3px;
217				cursor: default;
218				z-index: 50;
219				display: none
220		">
221			<div class="loading" id="loadingImg">
222				<div class="txt"></div>
223			</div>
224		</div>
225	</div>
226	<style>
227		.open1 {
228		  animation: open1 6s forwards
229		}
230		@keyframes open1 {
231		  from { background: rgba(255, 255, 255, 0); cursor: default }
232		  50% { background: rgba(255, 255, 255, 0.4); cursor: default }
233		  80% { background: rgba(255, 255, 255, 0.4); cursor: progress }
234		  to  { background: rgba(255, 255, 255, 0.7); cursor: progress }
235		}
236		.close1 {
237		  animation: close1 1s forwards
238		}
239		@keyframes close1 {
240		  from{ background: rgba(255, 255, 255, 0.2); cursor: default }
241		  50% { background: rgba(255, 255, 255, 0) }
242		  to  { background: rgba(255, 255, 255, 0); display: none }
243		}
244		.appear1 {
245		  animation: appear1 3s forwards
246		}
247		@keyframes appear1 {
248		  from { opacity: 0 }
249		  50% { opacity: 0.4 }
250		  to  { opacity: 1 }
251		}
252		.disappear1 {
253		  animation: disappear1 1s forwards
254		}
255		@keyframes disappear1 {
256		  from{ opacity: 0.2 }
257		  50% { opacity: 0 }
258		  to  { opacity: 0 }
259		}
260	</style>
261	
261<script>
262        /*<![CDATA[*/
263		var overlay = (function(){
264			var elOverlayWrapper = document.getElementById('overlayWrapper');
265			var elOverlay = document.getElementById('loading');
266			var elLoadingImg = document.getElementById('loadingImg');
267			var _status = 'off';
268			var init = function() {
269				elOverlayWrapper.style.display = '';
270			};
271            var isOn = function() {
272                return _status == 'on';
273            };
274			var _overlay = {};
275            _overlay.isOn = isOn;
276			_overlay.on = function(){
277			    init();
278				elOverlayWrapper.style.zIndex = 9999;
279				//elOverlay.classList.remove('close1');
280				elOverlay.classList.add('open1');
281				elOverlay.style.display = '';
282				/* elLoadingImg.classList.remove('disappear1');
283				elLoadingImg.classList.add('appear1'); */
284				_status = 'on';
285                // console.log('overlay on');
286			};
287			_overlay.off = function(){
288                if (!isOn()) {
289                    // console.log('overlay off block');
290                    return false;
291                }
292                //elOverlay.classList.add('close1');
293				elOverlay.classList.remove('open1');
294				window.setTimeout(function () {
295					elOverlayWrapper.style.zIndex = -1;
296					elOverlay.style.display = 'none';
297				}, 300);
298				elLoadingImg.classList.add('disappear1');
299				elLoadingImg.classList.remove('appear1');
300				_status = 'off';
301                // console.log('overlay off');
302			};
303			return _overlay;
304		})();
305        /*]]>*/
306	</script>
306
307	<!--//overlay-->
308
309
310	<!--placeholder-->
311	<div id="placeholderWrapper" style="display: none">
312		<div class="media placeholder-content" data-ele-name="placeholder">
313			<div class="profile placeholder-content-item">
314				<span class="img"></span>
315			</div>
316			<div class="media-body" data-ele-name="items">
317				<div class="tit placeholder-content-item" data-column-name="item" style="display: none"></div>
318				<div class="sub-tit placeholder-content-item" data-column-name="item" style="display: none"></div>
319				<div class="lst-site placeholder-content-item" data-column-name="item" style="display: none"></div>
320			</div>
321		</div>
322		<ul data-ele-name="itemWrapper" style="display: none">
323			<li></li>
324		</ul>
325	</div>
326	
326<script src="/js/inc/placeholder.min.js?ver=0.1.05"></script>
326
327	<!--//placeholder-->
328
329
330<!--
330<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
330-->
331<!-- 
331<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
331 -->
332<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
332
333<!-- 
333<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
333 -->
334
335<script src="/js/jquery.min.js"></script>
vendor: 2 bytes, line 335
335
336<script src="/js/jquery-ui.js"></script>
336
337<!-- 
337<script src='/js/swiper-bundle.js'></script>
337 -->
338<script src='https://files.pleasehelp.co.kr/data.server/static/cdn/swiper-bundle.min.js'></script>
338
339<!-- 
339<script src='https://unpkg.com/swiper/swiper-bundle.min.js'></script>
339 -->
340<script src="/js/jquery.slideToUnlock.js"></script>
vendor: 2 bytes, line 340
340
341<script src="/js/hammer.min.js"></script>
vendor: 2 bytes, line 341
341
342<script src="/js/scripts.js?ver=25-04-09-1000"></script>
342
343<!-- 
343<script th:src="@{/lib/locales.min.js}"></script>
343 -->
344<!--
344<script th:src="@{/lib/moment.min.js}"></script>
344-->
345<!--
345<script th:src="@{/lib/moment-with-locales.min.js}"></script>
345-->
346<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js" integrity="sha256-4iQZ6BVL4qNKlQ27TExEhBN1HFPvAvAMbFavKKosSWQ=" crossorigin="anonymous"></script>
346
347
348
349
350
351<!-- 
351<script th:src="@{'/lib/rsea'+ ${__min__} +'.js'(ver=200126)}"></script>
351 -->
352<script src="/lib/rsea.js?ver=202505261504001"></script>
352
353
354
355<script src="/lib/polyfill.min.js?ver=0.1.31"></script>
vendor: 2 bytes, line 355
355
356<script
357>
358/*<![CDATA[*/
359var _btsSet = Object.assign({
360	  cookieName: ''
361	, defaultLanguage: "ko"
362	, supportLanguage: {"ko":null,"ja":null,"en":null,"zh":null}
363	, cacheDay: 1
364	, toastTime: 1500 //ms
365	, mainSwiperLoop: false
366	, mainSwiperDelay: 3000 //ms
367	// , area: 'AIGSTN'
368    , area:  ''
369	, rankingNotice: 4
370	, _all: 'ALL'
371	, _end: ''
372	, isDev: false
373	, platformType: 'G'
374	, genderCode: 'M'
375	, inputPlatformType: 'G'
376}, {"mainSwiperDelay":3000,"cacheDay":1,"toastTime":2200,"rankingNotice":"30"});
377/*]]>*/
378</script>
vendor: 2 bytes, line 378
378
379<script src="/lib/global_util.min.js?ver=0.4.85"></script>
vendor: 2 bytes, line 379
379
380<script src="/lib/dom_util.min.js?ver=0.5.12"></script>
vendor: 2 bytes, line 380
380
381<script src="/lib/string_util.min.js?ver=0.1.27"></script>
vendor: 2 bytes, line 381
381
382<script src="/lib/date_util.min.js?ver=0.4.78"></script>
vendor: 2 bytes, line 382
382
383<script src="/lib/validate_util.min.js?ver=0.2.11"></script>
vendor: 2 bytes, line 383
383
384<script src="/lib/cookie_util.min.js?ver=0.4.42"></script>
vendor: 2 bytes, line 384
384
385<script src="/lib/i18n_util.min.js?ver=0.1.32"></script>
vendor: 2 bytes, line 385
385
386<script src="/lib/consts.min.js?ver=0.9.00"></script>
vendor: 2 bytes, line 386
386
387<script
388>
389	/*<![CDATA[*/
390var __userNo = -1;
391var __userNickname = null;
392var locale = "en"; // FIXME locale -> getLanguage() 로 대체
393var language = "en";
394var countryCd = "";
395var isEn = function() {
396    return language == 'en';
397};
398var isKo = function() {
399    return language == 'ko';
400};
401var getLanguage = function() {
402	return language;
403};
404var isForeignLang = function() {
405    return !isKo();
406};
407"en"
408var __bts = {
409	mode: "prod",
410	defaults: {
411		pageZeroStart: 0,
412		pageStart: 1,
413		pageStart_append: 1,
414		pageStart_dropdown: 1,
415        pageStart_search: 1,
416		pageSize: 10,
417		pageSize_dropdown: 20,
418		pageSize_txPurposes: 60,
419		pageSize_txNames: 350,
420        pageSize_hospitals: 9999,
421        pageSize_doctors: 9999,
422		pageSize_searchResult: 6,
423        pageSize_subList: 20,
424		statusCd: 'A',
425		orderKey: 'id',
426		orderDirection: 'desc',
427		tagArea: 'ALL',
428		rankingType: '',
429		rankingTxPartCd: '',
430		_end: ''
431	},
432	consts: {
433		yn: {
434			y: "Y",
435			n: "N",
436			_end: ''
437		},
438		surgicalType: {
439			y: "surgical",
440			n: "nonsurgical"
441		},
442		productType: {
443			skin: "skin",
444			hair: "hair",
445			hue: "hue",
446			teeth: "teeth",
447			body: "body"
448		},
449		boardType: {
450			face: "face",
451			cos: "cos",
452			hl: "hl",
453			ur: "ur",
454			sc: "sc",
455			lv: "lv",
456			car: "car",
457			sprot: "sport",
458			game: "game",
459			skin: "skin",
460			heal: "heal",
461			fash: "fash",
462			chat: "chat",
463			ques: "ques",
464			anon: "anon",
465			best: 'best',
466			etc: "etc"
467		},
468		epReviewType: {
469			doctor: 'd',
470			hospital: 'p'
471		},
472		rankingType: {
473			hospital: "chkProv",
474			doctor: "chkDoctor"
475		},
476		serviceType: {
477			empty: "PS0EMPTY"
478		},
479		sns: {
480			kakaotalk: "kakaotalk",
481			kakao: "kakao",
482			line: "line",
483			facebook: "facebook",
484			skype: "skype",
485			viber: "viber",
486			wechat: "wechat",
487			weibo: "weibo",
488			whatsapp: "whatsapp",
489			google: "google",
490			email: "email",
491			insta: "insta",
492			twitter: "twitter"
493		},
494		android: {
495			key: {
496				id: "hid",
497				name: "hname",
498				like: "like"
499			},
500			yn: {
501				y: "yes",
502				n: "no"
503			}
504		},
505		userAgent: {
506			androidWebView: "androidWebView",
507			iosWebView: "iosWebView"
508        },
509        fileKey: {"cpr_02":"cpr_02","cpr_01":"cpr_01","review_after":"review_after","profile":"profile","prov_req":"prov_req","review_before":"review_before","comment":"comment","prov_bizr":"prov_bizr","prov_main":"prov_main","prov":"prov"},
510        likeCd: {
511            all: "ALL",
512            hospital: "PRV001",
513            doctor: "DOC001",
514            treatment: "TX0001",
515            event: "EV0001",
516            review: "RV0001"
517        },
518        review: {
519            status: {
520                waiting: "S_I",
521                approval: "S_F",
522                impossible: "S_R",
523                waitingReapproval: "S_RI",
524            },
525		    costType: {
526                one: "TC1CST",
527                total: "TCTCST",
528                unknown: "TCUNKN",
529		    },
530            params: {
531                translated: "translated"
532            }
533		},
534		order: {
535			ordrDefault: 'id',
536            direction: {
537                asc: 'asc',
538                desc: 'desc'
539            },
540			id: 'id',
541			popular: 'popular',
542			rate: 'rate',
543			comment: 'comment'
544		},
545		contryCd: {
546			ko: '+82'
547		},
548		swiperConfig:{
549			slidesPerView: 'auto'
550		},
551		txPartType: {
552			txPartCd : 'txPartCd',
553			txPartCdWh : 'txPartCdWh',
554		},
555		cookie: {
556			returnUrl : '___beautycorn_rtn',
557			cookieNameLoginId : '_BTC_ACNT'
558		}
559	},
560	main: {
561		event: 'event',
562		store: 'store',
563		hospital: 'hospital',
564		doctor: 'doctor',
565		treatment: 'treatment',
566		treatmentMain: 'treatmentMain',
567		review: 'review',
568        user: 'user',
569		_end: ''
570	},
571	scheme: {
572		protocol: {
573			ios: '', //TODO
574			android: '' //TODO
575		}
576	},
577	url: {
578		aapi: "\/api",
579		sapi: "https:\/\/sapi.beautysocial.io\/api",
580		rapi: "https:\/\/rapi.beautysocial.io\/rapi",
581		schema: "https",
582		cdn: "files.beautysocial.io\/data.dev",
583		repository: "",
584		googleApi_embedUrl: "https:\/\/www.google.com\/maps\/embed\/v1\/place?key=AIzaSyCDjUzy6HIRfmTb0jSIbRNB3tzlsG4JcdQ",
585		app: {
586			google: '',
587			apple: ''
588		},
589		_end: ''
590	},
591	path: {
592		index: "\/",
593		login: "\/login",
594		logout: "\/logout",
595        faq: "\/faq",
596        notice: "\/notice",
597        privacy: "\/privacy",
598        terms: "\/terms",
599		search: "\/search",
600		searchResult: "\/search\/result",
601		treatment: "\/treatment",
602		treatmentMain: "\/treatmentMain",
603		hospital: "\/hospital",
604		doctor: "\/doctor",
605		event: "\/event",
606        review: "\/review",
607        reviewReg: "\/review\/reg",
608       	employeeReview: "\/employeeReview",
609       	employeeReviewDetail: "\/employeeReview\/detail",
610        employeeReviewDReg: "\/employeeReview\/dreg",
611        employeeReviewPReg: "\/employeeReview\/preg",
612        employeeReviewDEdit: "\/employeeReview\/dedit",
613        employeeReviewPEdit: "\/employeeReview\/pedit",
614        complainReview: "\/complainReview",
615       	complainReviewDetail: "\/complainReview\/detail",
616        complainReviewDReg: "\/complainReview\/dreg",
617        complainReviewPReg: "\/complainReview\/preg",
618        complainReviewDEdit: "\/complainReview\/dedit",
619        complainReviewPEdit: "\/complainReview\/pedit",
620        reviewEdit: "\/review\/edit",
621        store: "\/store",
622        storeDetail: "\/store\/detail",
623        shoppingBasket: "\/store\/shoppingBasket",
624        storeOrdersheet: "\/store\/storeOrdersheet",
625        board: "\/board",
626		estimate: "\/estimate",
627        estimateIntro: "\/estimate\/intro",
628        estimateApplication: "\/estimate\/application",
629		myPageSetting: "\/mypage\/setting",
630		myPageEstimate: "\/mypage\/estimate",
631		treatmentDetail: "\/treatment\/detail",
632		treatmentMainDetail: "\/treatmentMain\/detail",
633		hospitalDetail: "\/hospital\/detail",
634		doctorDetail: "\/doctor\/detail",
635		eventDetail: "\/event\/detail",
636        reviewDetail: "\/review\/detail",
637        userDetail: "\/user\/detail",
638		eventRecentlyList: "\/event\/eventRecentlyList",
639		boadDetail: "\/board\/detail",
640		videoDetail: "\/video\/detail",
641		_end: ''
642	},
643	statusCode: {
644		ok: 200,
645		location: 302,
646		sysErr: 1001
647	},
648	messageKeys: null,
649    code: {
650        'err.cd.common.invalid.token': "1002",
651        'err.cd.common.expired.token': "1003",
652    },
653	message: [
654        [ 'exception', "An error has occured while processing. Please contact the administrator."],
655		[ 'invalidToken', "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD1A0\uD070\uC785\uB2C8\uB2E4."],
656		[ 'expiredToken', "\uB9CC\uB8CC\uB41C \uD1A0\uD070\uC785\uB2C8\uB2E4."],
657		[ 'invalidAccess', "This is an incorrect approach."],
658		[ 'requireSearchOptions', "Enter keyword"],
659		[ 'mypage.withdrawal.msg.please.select.a.reason', "Please select a reason."],
660		[ 'join.msg.you.can.select.up.to.3.body.areas', "You can select up to 3 body areas."],
661		[ 'join.msg.please.select.at.least.1.body.area', "Please select at least 1 body area."],
662		[ 'mypage.withdrawal.msg.please.describe.your.reason.for.leaving', "Please describe your reason for leaving"],
663		[ 'common.msg.sub.filter.search.tx.part.clinics', "Search clinics by treatments"],
664		[ 'common.msg.sub.filter.search.tx.part.doctors', "Search doctors by treatments"],
665		[ 'common.msg.sub.filter.search.tx.part.reviews', "Select a treatment"],
666		[ 'end', '' ]
667	],
668	text: {
669		  noData: "No data"
670		, loading: 'loading...'
671		, noti_lastPage: "Last Page"
672		, noti_selectTxFirst: "Please select treatment area or goal first."
673		, title_main: "GroomingJok"
674		, title_reviews: "Reviews"
675		, title_reviewWrite: "Write a review"
676        , title_reviewEdit: "Edit review"
677		, title_searchMain: "Search"
678		, title_searchTreatment: "Search Treatments"
679		, title_searchEvent: "Promotions"
680		, title_searchStore: '스킨케어'
681		, title_evaluation: "Rate"
682		, title_searchHospital: "Search Clinics"
683		, title_searchDoctor: "Search Doctors"
684		, title_searchReview: "Reviews"
685		, title_mypage: "My Page"
686		, title_ranking: "Weekly Ranking"
687		, title_notification: "Notification"
688		, title_offersRedeemed: "Promotions I booked"
689		//, title_counselList: /*"Appointment Request List"*/'상담 신청 리스트'
690		, title_counselHistory: "Appointment requests"
691		//, title_applyList: /*"Request List"*/'상담 리스트'
692		, title_report: "Report"
693		, title_myReview: "My Reviews"
694		, title_myLikeEvent: "Promotions I liked"
695        , title_myLikeReview: "Reviews I liked"
696		, title_likeList: "List of Liked Contents"
697		, title_faq: "FAQ"
698		, title_signUp: "Sign up"
699		, title_userWithdrawal: "Delete Account"
700		, title_notice: "Updates"
701		, title_policy: "Privacy Policy"
702		, title_terms: "Terms of Service"
703		, title_config: "Settings"
704		, title_reqComplete: "Succeesfully Submitted!"
705		, title_estimate_msg_quote_request: "Request Price Quote"
706		, unit_year: ""
707		, unit_currency: "$"
708		, unit_currency_kr: "\u20A9"
709		, unit_currency_us: "$"
710		, unit_currency_jp: "\u5186"
711		, unit_currency_cn: "\u5143"
712		, unit_currency_kr_char: "KRW"
713		, unit_currency_us_char: "USD"
714		, unit_currency_jp_char: "JPY"
715		, unit_currency_cn_char: "CNY"
716        , unit_currency_kr_manWon: "\uB9CC\uC6D0"
717		, unit_currency_estimate: "$"
718		, word_surgicalTypeA: "All"
719		, word_surgicalTypeY: "Surgical"
720		, word_surgicalTypeN: "Non-surgical"
721		, word_surgicalTypeP: "Non-surgical"
722		, word_productTypeSkin: '기초'
723		, word_productTypeHair: '헤어'
724		, word_productTypeHue: '치료'
725		, word_productTypeTeeth: '보호'
726		, word_productTypeBody: '바디'
727		, word_boardTypeFace: '얼평'
728		, word_boardTypeCos: '성형'
729		, word_boardTypeHl: '탈모'
730		, word_boardTypeUr: '비뇨'
731		, word_boardTypeSc: '성고민'
732		, word_boardTypeLv: '연애・성고민'
733		, word_boardTypeCar: '자동차'
734		, word_boardTypeSport: '스포츠'
735		, word_boardTypeGame: '게임'
736		, word_boardTypeSkin: '피부'
737		, word_boardTypeHeal: '헬스'
738		, word_boardTypeFash: '패션'
739		, word_boardTypeChat: '잡담'
740		, word_boardTypeEtc: '자유'
741		, word_boardTypeQues: '질문'
742		, word_boardTypeAnon: '익명'
743		, word_boardTypeBest: '베스트'
744		, word_categoryNonSurgical: "Non-surgical"
745		, word_categorySurgical: "Surgical"
746		, word_mainHospital: "Clinics"
747		, word_mainDoctor: "Doctors"
748		, word_before: "Before"
749		, word_after: "After"
750		, sub_txPart: "Treatment Area"
751		, sub_txPurpose: "Treatment Goal"
752		, sub_txName: "Treatment Method"
753		, word_night: "After hours"
754		, word_holiday: "Off"
755		, word_appointment: "Appointment"
756		, word_more: "More"
757		, word_folding: "Fold"
758		, word_like: "Like"
759		, word_likeCancel: "Cancel like"
760		, word_all: "All"
761		, list_categoryAll: "All"
762		, review_msg_waiting_for_release: "Waiting for release"
763		, review_msg_cannot_write: "Cannot write"
764		, review_msg_waiting_for_re_confirmation: "Waiting for re-confirmation"
765		, common_msg_delete_confirm: "Confirm to cancel"
766		, common_msg_do_you_want_to_delete: "Do you want to cancel?"
767		, review_msg_do_you_want_to_delete: "Do you want to cancel?"
768		, common_msg_you_can_select_up_to_maximum: "You can select up to {0} body areas."
769        , common_msg_see_translation: "See translation"
770        , common_msg_see_original: "See original"
771		, _end: ''
772    },
773	url_img: {
774        EYES: "\/img\/icon-bk-eyes.png",
775		FACE: "\/img\/icon-bk-face.png",
776		FOREHEAD: "\/img\/icon-bk-forehead.png",
777		HAIR: "\/img\/icon-bk-hair.png",
778		LIPS: "\/img\/icon-bk-lips.png",
779		NOSE: "\/img\/icon-bk-nose.png",
780		TEETH: "\/img\/icon-bk-teeth.png",
781		BREASTS: "\/img\/icon-bk-breasts.png",
782		EARS: "\/img\/icon-bk-ears.png",
783		CHIN_JAW: "\/img\/icon-bk-chin.png",
784		NECK: "\/img\/icon-bk-neck.png",
785		BODY: "\/img\/icon-bk-body.png",
786		GENITALS: "\/img\/icon-bk-genitals.png",
787		
788		SKIN: "\/img\/icon-tm-skin.png",
789		FIBOLI: "\/img\/icon-tm-fillers.png",
790		FACYAN: "\/img\/icon-tm-jaw.png",
791		FATTRAN: "\/img\/icon-tm-fat.png",
792		LIPOSUCTION: "\/img\/icon-tm-liposuction.png",
793		FOREHAIR: "\/img\/icon-tm-hair.png",
794		
795		_ALL: "\/img\/icon-bk-all.png",
796		_end: ''
797	},
798	set: _btsSet
799};
800    /*]]>*/
801</script>
vendor: 2 bytes, line 801
801
802<script src="/lib/model.min.js?ver=20-01-29-1553"></script>
802
803<!-- 
803<script th:src="@{'/lib/app'+ ${__min__} +'.js'(ver=21-07-30-0916)}"></script>
803 -->
804<script src="/lib/app.js?ver=25-05-07-0940"></script>
vendor: 2 bytes, line 804
804
805<script>
806	/*<![CDATA[*/
807	//FIXME 쿠키 기반 로그인 체크
808	btsInit().run();
809	/*]]>*/
810</script>
810
811<!-- 
811<script th:src="@{'/lib/common-custom'+ ${__min__} +'.js'(ver=25-04-08-1020)}"></script>
811 -->
812<script src="/lib/common-custom.js?ver=25-04-09-1000"></script>
vendor: 2 bytes, line 812
812
813<script src="/lib/kevin.min.js?ver=20-01-07-1654"></script>
vendor: 2 bytes, line 813
813
814<script src="/lib/steve.min.js?ver=21-01-28-1250"></script>
vendor: 2 bytes, line 814
814
815<script src="/lib/naver-analytics.min.js?ver=20-05-26-1700"></script>
815
816
817
818<!-- alert -->
819<div id="alert" class="modal alert" style="display: none;">
820	<div class="modal-inner">
821		<a href="#" class="ico close modalClose" data-ele-name="btnCloseAlert">닫기</a>
822		<div class="modal-header">
823			<div class="modal-title" data-column-name="title">알림</div>
824		</div>
825		<div class="modal-body">
826			<div data-ele-name="wrapperMessageList">
827				<p class="desc" data-column-name="message">
828					loading...
829				</p>
830			</div>
831			<div  data-ele-name="wrapperTemplateItem" style="display: none">
832				<p class="desc" data-column-name="message">loading...</p>
833			</div>
834		</div>
835		<div class="modal-footer">
836			<a href="javascript:void(0)" class="btn positive modalClose" data-column-name="btnOk">확인</a>
837		</div>
838	</div>
839	<div class="modal-dim" id="alertDim"></div>
840</div>
841
842<!-- <div id="alert" class="md-alert modal fade" tabindex="-1" role="dialog" style="display: none;">
843	<div class="modal-dialog modal-dialog-centered" role="document">
844		<div class="modal-content">
845			<div class="modal-header">
846				<h5 class="modal-title" data-column-name="title">loading...</h5>
847				<button type="button" class="close" aria-label="Close" data-ele-name="btnCloseAlert">
848					<i class="icon-hd-close"></i>
849				</button>
850			</div>
851			<div class="modal-body">
852				<div class="alert-body">
853					<div class="alert-cnt" data-ele-name="wrapperMessageList">
854						<p data-column-name="message">loading...</p>
855					</div>
856					<div class="alert-cnt" data-ele-name="wrapperTemplateItem" style="display: none">
857						<p data-column-name="message">loading...</p>
858					</div>
859				</div>
860			</div>
861		</div>
862	</div>
863</div> -->
864<script>
865	/*<![CDATA[*/
866	var alertModal = (function(){
867		
868		var ns = 'alertModal';
869		
870		var _alertModal = {
871			$el: {
872				p: null,
873				title: null,
874				close: null,
875				wrapperMessageList: null,
876				wrapperTemplateItem: null
877			},
878			alertCloseCallback: function() {
879				bts.isDebug() && console.log(ns + '.alertCloseCallback :: close');
880			}
881		};
882
883		_alertModal.alertInit = function() {
884			
885			_alertModal.$el.p = $('#alert');
886			_alertModal.$el.dim = $('#alertDim');
887			_alertModal.$el.title = _alertModal.$el.p.find('[data-column-name="title"]');
888			_alertModal.$el.close = _alertModal.$el.p.find('[data-ele-name="btnCloseAlert"]');
889			_alertModal.$el.wrapperMessageList = _alertModal.$el.p.find('[data-ele-name="wrapperMessageList"]');
890			_alertModal.$el.wrapperTemplateItem = _alertModal.$el.p.find('[data-ele-name="wrapperTemplateItem"]');
891			
892			var _close = function() {
893				// _alertModal.$el.p[0].style.zIndex = 0; //FIXME
894				_alertModal.$el.p.css("z-index", "0"); //FIXME
895				_alertModal.$el.p.hide();
896				_alertModal.$el.p.removeClass('on');
897				_alertModal.$el.dim.removeClass('on');
898				if (isFunction(_alertModal.alertCloseCallback)) {
899					
900					_alertModal.alertCloseCallback();
901				}
902			};
903			_alertModal.$el.close[0].onclick = function(e) {
904				
905				// _alertModal.$el.p.modal('hide');
906				_close();
907			}
908
909			_alertModal.$el.p.on('hidden.bs.modal' , function() {
910				_close();
911			});
912
913			_alertModal.$el.dim.on('click', function(e){
914				e.preventDefault();
915
916				_alertModal.$el.p.css("z-index", "0"); //FIXME
917				_alertModal.$el.p.hide();
918				_alertModal.$el.p.removeClass('on');
919				_alertModal.$el.dim.removeClass('on');
920			});
921		};
922		_alertModal.alertInit();
923
924		_alertModal.alertClear = function() {
925			
926			_alertModal.alertCloseCallback = function() {
927				bts.isDebug() && console.log(ns + '.alertCloseCallback :: close');
928			};
929			
930			_alertModal.$el.title[0].innerHTML = '';
931			
932			_alertModal.$el.wrapperMessageList[0].innerHTML = '';
933		};
934		_alertModal.alert = function(v, closeCallback, title) {
935			//alert(v);
936			
937			_alertModal.alertClear();
938			
939			if (isFunction(closeCallback)) {
940				
941				_alertModal.alertCloseCallback = closeCallback;
942			}
943			
944			if (title) {
945				_alertModal.$el.title[0].innerHTML = title;
946			} else {
947				_alertModal.$el.close.hide();
948			}
949			
950			var _el = null;
951			var _messages;
952			if (typeof v == 'string') {
953				_messages = v ? v.normalize().split('\n') : [''];
954                resolveEles(_messages, function(_v, i){
955                    if (_el != null) {
956                        _alertModal.$el.wrapperMessageList.append('<br>');
957                    }
958                    _el = _alertModal.$el.wrapperTemplateItem.children()[0].cloneNode();
959                    _el.innerHTML = _v || _alertModal.$el.wrapperTemplateItem.children()[0].innerHTML;
960                    _alertModal.$el.wrapperMessageList.append(_el);
961                });
962			} else if (isEle(v)) {
963                _alertModal.$el.wrapperMessageList.append(v);
964            } else if (isEles(v)) {
965                _messages = v;
966                resolveEles(_messages, function(_v, i){
967                    if (_el != null) {
968                        _alertModal.$el.wrapperMessageList.append('<br>');
969                    }
970                    _el = _v;
971                    _alertModal.$el.wrapperMessageList.append(_el);
972                });
973            } else {
974                _messages = [v];
975                resolveEles(_messages, function(_v, i){
976                    if (_el != null) {
977                        _alertModal.$el.wrapperMessageList.append('<br>');
978                    }
979                    _el = _alertModal.$el.wrapperTemplateItem.children()[0].cloneNode();
980                    _el.innerHTML = _v || _alertModal.$el.wrapperTemplateItem.children()[0].innerHTML;
981                    _alertModal.$el.wrapperMessageList.append(_el);
982                });
983			}
984
985			
986			// _alertModal.$el.p.modal();
987			// _alertModal.$el.p[0].style.zIndex = 1052; //FIXME
988			_alertModal.$el.p.css("z-index", "999"); //FIXME
989			_alertModal.$el.p.show();
990			_alertModal.$el.p.addClass('on');
991			_alertModal.$el.dim.addClass('on');
992			
993			ModalUtils.adjustPosition();
994			
995			return false;
996		};
997		return {
998			open: function(v, closeCallback, title) {
999				return _alertModal.alert(v, closeCallback, title);
1000			}
1001		}
1002	})();
1003	/*]]>*/
1004</script>
1004
1005
1006
1007<!-- confirm -->
1008<div id="confirm" class="modal alert" style="display: none;">
1009	<div class="modal-inner">
1010		<a href="#" class="ico close modalClose" data-ele-name="btnCloseAlert">닫기</a>
1011		<div class="modal-header">
1012			<div class="modal-title" data-column-name="title">알림</div>
1013		</div>
1014		<div class="modal-body">
1015			<div data-ele-name="wrapperMessageList">
1016				<p class="desc" data-column-name="message">
1017					loading...
1018				</p>
1019			</div>
1020			<div  data-ele-name="wrapperTemplateItem" style="display: none">
1021				<p class="desc" data-column-name="message">loading...</p>
1022			</div>			
1023		</div>
1024		<div class="modal-footer">
1025			<a href="javascript:void(0)" class="btn natural" data-column-name="btnCancel">Cancel</a>
1026			<a href="javascript:void(0)" class="btn positive modalClose" data-column-name="btnOk">Confirm</a>
1027		</div>
1028	</div>
1029	<div class="modal-dim" id="confirmDim" onclick="(function(){$(this).hide(); $(this).removeClass('on');})(this)"></div>
1030</div>
1031
1032<!-- <div id="confirm" class="md-alert modal fade" tabindex="-1" role="dialog" style="display: none;">
1033	<div class="modal-dialog modal-dialog-centered" role="document">
1034		<div class="modal-content">
1035			<div class="modal-header">
1036				<h5 class="modal-title" data-column-name="title">loading...</h5>
1037				<button type="button" class="close" aria-label="Close" data-ele-name="btnCloseAlert">
1038					<i class="icon-hd-close"></i>
1039				</button>
1040			</div>
1041			<div class="modal-body">
1042				<div class="alert-body">
1043					<div class="alert-cnt" data-ele-name="wrapperMessageList">
1044						<p data-column-name="message">loading...</p>
1045					</div>
1046					<div class="alert-cnt" data-ele-name="wrapperTemplateItem" style="display: none">
1047						<p data-column-name="message">loading...</p>
1048					</div>
1049				</div>
1050			</div>
1051			<div class="modal-footer wide">
1052				<div class="col-6"><button type="button" class="btn btn-lg btn-block btn-light" data-column-name="btnCancel">Cancel</button></div>
1053				<div class="col-6"><button type="button" class="btn btn-lg btn-block btn-secondary" data-column-name="btnOk">Confirm</button></div>
1054			</div>
1055		</div>
1056	</div>
1057</div> -->
1058<script>
1059	/*<![CDATA[*/
1060	var confirmModal = (function(){
1061
1062		var ns = 'confirmModal';
1063
1064		var _confirmModal = {
1065			$el: {
1066				p: null,
1067                $p: null,
1068				title: null,
1069				btnOk: null,
1070				btnCancel: null,
1071				close: null,
1072				wrapperMessageList: null,
1073				wrapperTemplateItem: null
1074			},
1075			confirmCallback: function() {
1076				bts.isDebug() && console.log(ns + '.confirmCallback :: confirm');
1077			},
1078			cancelCallback: function() {
1079				bts.isDebug() && console.log(ns + '.cancelCallback :: cancel');
1080			}
1081		};
1082
1083		_confirmModal.alertInit = function() {
1084
1085            _confirmModal.$el.p = sel('#confirm');
1086			_confirmModal.$el.$p = $('#confirm');
1087            _confirmModal.$el.$dim = $('#confirmDim', _confirmModal.$el.p);
1088			_confirmModal.$el.title = _confirmModal.$el.$p.find('[data-column-name="title"]');
1089			_confirmModal.$el.btnOk = _confirmModal.$el.$p.find('[data-column-name="btnOk"]');
1090			_confirmModal.$el.btnCancel = _confirmModal.$el.$p.find('[data-column-name="btnCancel"]');
1091			_confirmModal.$el.close = _confirmModal.$el.$p.find('[data-ele-name="btnCloseAlert"]');
1092			_confirmModal.$el.wrapperMessageList = _confirmModal.$el.$p.find('[data-ele-name="wrapperMessageList"]');
1093			_confirmModal.$el.wrapperTemplateItem = _confirmModal.$el.$p.find('[data-ele-name="wrapperTemplateItem"]');
1094
1095			var _close = function() {
1096				// _confirmModal.$el.$p[0].style.zIndex = 0; //FIXME
1097				_confirmModal.$el.$p.css("z-index", "0"); //FIXME
1098				_confirmModal.$el.$p.hide();
1099				_confirmModal.$el.$p.removeClass('on');
1100				_confirmModal.$el.$dim.removeClass('on');
1101
1102			};
1103			var _confirm = function() {
1104				// _confirmModal.$el.$p[0].style.zIndex = 0; //FIXME
1105				_close();
1106				if (isFunction(_confirmModal.confirmCallback)) {
1107					_confirmModal.confirmCallback();
1108				}
1109			};
1110			_confirmModal.$el.close[0].onclick = function(e) {
1111				// _confirmModal.$el.$p.modal('hide');
1112				_close();
1113                if (isFunction(_confirmModal.cancelCallback)) {
1114                    _confirmModal.cancelCallback();
1115                }
1116			};
1117
1118			_confirmModal.$el.$p.on('hidden.bs.modal' , function() {
1119				_close();
1120			});
1121			_confirmModal.$el.btnCancel[0].onclick = function(e) {
1122				// _confirmModal.$el.$p.modal('hide');
1123				_close();
1124                if (isFunction(_confirmModal.cancelCallback)) {
1125                    _confirmModal.cancelCallback();
1126                }
1127			};
1128			_confirmModal.$el.btnOk[0].onclick = function(e) {
1129
1130				// _confirmModal.$el.$p.modal('hide');
1131				_close();
1132				_confirm();
1133			};
1134		};
1135		_confirmModal.alertInit();
1136
1137		_confirmModal.alertClear = function() {
1138
1139			_confirmModal.confirmCallback = function() {
1140				bts.isDebug() && console.log(ns + '.confirmCallback :: confirm');
1141			};
1142			_confirmModal.cancelCallback = function() {
1143				bts.isDebug() && console.log(ns + '.cancelCallback :: cancel');
1144			};
1145
1146			_confirmModal.$el.title[0].innerHTML = 'Confirm';
1147			_confirmModal.$el.btnOk[0].innerHTML = 'Confirm';
1148			_confirmModal.$el.btnCancel[0].innerHTML = 'Cancel';
1149
1150			_confirmModal.$el.wrapperMessageList[0].innerHTML = '';
1151		};
1152		_confirmModal.alert = function(v, confirmCallback, cancelCallback, title, confirmBtnText, cancelBtnText) {
1153			// alert(v);
1154
1155			_confirmModal.alertClear();
1156
1157			if (isFunction(confirmCallback)) {
1158
1159				_confirmModal.confirmCallback = confirmCallback;
1160			}
1161			if (isFunction(cancelCallback)) {
1162
1163				_confirmModal.cancelCallback = cancelCallback;
1164			}
1165
1166			if (title) {
1167				_confirmModal.$el.title[0].innerHTML = title;
1168			}
1169			if (confirmBtnText) {
1170				_confirmModal.$el.btnOk[0].innerHTML = confirmBtnText;
1171			}
1172			if (cancelBtnText) {
1173				_confirmModal.$el.btnCancel[0].innerHTML = cancelBtnText;
1174			}
1175
1176			var _el = null;
1177            var _messages;
1178            if (typeof v == 'string') {
1179                var _messages = v ? v.normalize().split('\n') : [''];
1180                resolveEles(_messages, function(_v, i){
1181                    if (_el != null) {
1182                        _confirmModal.$el.wrapperMessageList.append('<br>');
1183                    }
1184                    _el = _confirmModal.$el.wrapperTemplateItem.children()[0].cloneNode();
1185                    _el.innerHTML = _v || _confirmModal.$el.wrapperTemplateItem.children()[0].innerHTML;
1186                    //$(_el).find('[data-column-name="message"]')[0].innerHTML = _v;
1187                    _confirmModal.$el.wrapperMessageList.append(_el);
1188                });
1189            } else if (isEle(v)) {
1190                _confirmModal.$el.wrapperMessageList.append(v);
1191            } else if (isEles(v)) {
1192                _messages = v;
1193                resolveEles(_messages, function(_v, i){
1194                    if (_el != null) {
1195                        _confirmModal.$el.wrapperMessageList.append('<br>');
1196                    }
1197                    _el = _v;
1198                    _confirmModal.$el.wrapperMessageList.append(_el);
1199                });
1200            } else {
1201                _messages = [v];
1202                resolveEles(_messages, function(_v, i){
1203                    if (_el != null) {
1204                        _confirmModal.$el.wrapperMessageList.append('<br>');
1205                    }
1206                    _el = _confirmModal.$el.wrapperTemplateItem.children()[0].cloneNode();
1207                    _el.innerHTML = _v || _confirmModal.$el.wrapperTemplateItem.children()[0].innerHTML;
1208                    //$(_el).find('[data-column-name="message"]')[0].innerHTML = _v;
1209                    _confirmModal.$el.wrapperMessageList.append(_el);
1210                });
1211            }
1212
1213			// _confirmModal.$el.$p.modal();
1214			// _confirmModal.$el.$p[0].style.zIndex = 1052; //FIXME
1215			_confirmModal.$el.$p.css("z-index", "999"); //FIXME
1216			_confirmModal.$el.$p.show();
1217			_confirmModal.$el.$p.addClass('on');
1218			_confirmModal.$el.$dim.addClass('on');
1219
1220			ModalUtils.adjustPosition();
1221			
1222			return false;
1223		};
1224		return {
1225			open: function(v, confirmCallback, cancelCallback, title, confirmBtnText, cancelBtnText) {
1226				return _confirmModal.alert(v, confirmCallback, cancelCallback, title, confirmBtnText, cancelBtnText);
1227			}
1228		}
1229	})();
1230	/*]]>*/
1231</script>
1231
1232
1233
1234
1235
1236
1237
1238<!-- toast -->
1239
1240<!--
1241padding-right: 15px;
1242	display: block;
1243	z-index: 1050;
1244	width: 70%;
1245	height: 60px;
1246	top: 80%;
1247	left: 15%;
1248	overflow: hidden;
1249	max-height: 24px; top: 84%;
1250	max-height: 48px; top: 84%;
1251	max-height: 72px; top: 81%;
1252	max-height: 92px; top: 78%;
1253-->
1254
1255
1256<div id="toast" class="modal toast bottom" style="display: none;">
1257	<div class="modal-inner">
1258		<div class="modal-header" style="display: none;">
1259			<h5 class="modal-title text-center" data-column-name="title">loading...</h5>
1260		</div>
1261
1262		<div class="modal-body">
1263			<div data-ele-name="wrapperMessageList">
1264			</div>
1265			<div data-ele-name="wrapperTemplateItem" style="display: none">
1266				<p data-column-name="message">내용 기획서 참조 부탁드립니다</p>
1267			</div>
1268		</div>
1269	</div>
1270</div>
1271
1272<!-- <div id="toast" class="md-toast modal fade" tabindex="-1" role="dialog" style="display: none;">
1273	<div class="modal-dialog modal-dialog-centered" role="document">
1274		<div class="modal-content">
1275			<div class="modal-header" style="
1276				display: none;
1277			">
1278				<h5 class="modal-title text-center" data-column-name="title">loading...</h5>
1279			</div>
1280			<div class="modal-body">
1281				토스트 내용
1282				<div class="alert-body">
1283					<div class="alert-cnt" data-ele-name="wrapperMessageList">
1284					</div>
1285					<div class="alert-cnt" data-ele-name="wrapperTemplateItem" style="display: none">
1286						<p data-column-name="message">loading...</p>
1287					</div>
1288				</div>
1289			</div>
1290		</div>
1291	</div>
1292</div> -->
1293<!-- alert based -->
1294<!-- <div id="toast" class="md-toast modal fade" tabindex="-1" role="dialog"> -->
1295<!--	 <div class="modal-dialog modal-dialog-centered" role="document"> -->
1296<!--		 <div class="modal-content"> -->
1297<!--			 <div class="modal-header"> -->
1298<!--				 <h5 class="modal-title text-center" data-column-name="title">loading...</h5> -->
1299<!--			 </div> -->
1300<!--			 <div class="modal-body"> -->
1301<!-- 				토스트 내용 -->
1302<!-- 				<div class="alert-body"> -->
1303<!-- 					<div class="alert-cnt" data-ele-name="wrapperMessageList"> -->
1304<!-- 						<p data-column-name="message">loading...</p> -->
1305<!-- 					</div> -->
1306<!-- 					<div class="alert-cnt" data-ele-name="wrapperTemplateItem" style="display: none"> -->
1307<!-- 						<p data-column-name="message">loading...</p> -->
1308<!-- 					</div> -->
1309<!-- 				</div> -->
1310<!--			 </div> -->
1311<!--		 </div> -->
1312<!--	 </div> -->
1313<!-- </div> -->
1314<script>
1315	/*<![CDATA[*/
1316	var toastModal = (function(){
1317		
1318		var ns = 'toastModal';
1319		
1320		var _positionTypes = {
1321			top: 'top',
1322			middle: 'middle',
1323			bottom: 'bottom'
1324		};
1325		
1326		var DEFAULT_POSITION = _positionTypes.bottom;
1327		
1328		var _toastModal = {
1329			$el: {
1330				p: null,
1331				title: null,
1332				wrapperMessageList: null,
1333				wrapperTemplateItem: null
1334			},
1335			set: {
1336				time: bts.set.toastTime,
1337				position: DEFAULT_POSITION
1338			}
1339		};
1340
1341		_toastModal.toastInit = function() {
1342			
1343			_toastModal.$el.p = $('#toast');
1344			_toastModal.$el.title = _toastModal.$el.p.find('[data-column-name="title"]');
1345			_toastModal.$el.wrapperMessageList = _toastModal.$el.p.find('[data-ele-name="wrapperMessageList"]');
1346			_toastModal.$el.wrapperTemplateItem = _toastModal.$el.p.find('[data-ele-name="wrapperTemplateItem"]');
1347			
1348			//_toastModal.$el.p.on('show.bs.modal', _callback);
1349			//_toastModal.$el.p.off('hidden.bs.modal');
1350		};
1351		_toastModal.toastInit();
1352
1353		_toastModal.toastClear = function() {
1354			_toastModal.$el.title[0].innerHTML = 'Toast';
1355			
1356			_toastModal.$el.wrapperMessageList[0].innerHTML = '';
1357			
1358			_toastModal.set.position = DEFAULT_POSITION;
1359			_toastModal.set.time = bts.set.toastTime;
1360		};
1361		_toastModal.toast = function(v, closeCallback, title) {
1362			//alert(v);
1363			
1364			if (title) {
1365				_toastModal.$el.title[0].innerHTML = title;
1366			}
1367			
1368			var _el = null;
1369			var _messages = v ? v.split('\n') : [''];
1370			
1371			_messages.forEach(function(_v, i){
1372				
1373				if (_el == null) {
1374					
1375				} else {
1376					
1377					_toastModal.$el.wrapperMessageList.append('<br>');
1378				}
1379				_el = _toastModal.$el.wrapperTemplateItem.children()[0].cloneNode();
1380				_el.innerHTML = _v || _toastModal.$el.wrapperTemplateItem.children()[0].innerHTML;
1381				_toastModal.$el.wrapperMessageList.append(_el);
1382			});
1383			
1384			// [s] via common.js .on('click','[data-toggle=toast]', ...)
1385			var target = _toastModal.$el.p;
1386			target[0].style.zIndex = 999999; //FIXME
1387			target.show();
1388			target.addClass('on');
1389			var time = _toastModal.set.time;
1390			// 포지션 기능 블락
1391			/*var position = _toastModal.set.position;
1392			switch (position) {
1393				case _positionTypes.top:
1394					target[0].style.top = '5%';
1395					target[0].style.bottom = 'unset';
1396					break;
1397				case _positionTypes.middle:
1398					target[0].style.top = '50%';
1399					target[0].style.bottom = 'unset';
1400					break;
1401				case _positionTypes.bottom:
1402					target[0].style.top = 'unset';
1403					target[0].style.bottom = '42px';
1404					break;
1405				default: break;
1406			}*/
1407			//target[0].style.zIndex = 1051; //modal over;
1408			if (isFunction(closeCallback)) {
1409				target.off().on('hidden.bs.modal', closeCallback);
1410			}
1411// 			target.modal({
1412// 			  backdrop: false
1413// // 				, show: false
1414// // 				, keyboard: true
1415// 			});
1416			setTimeout(function(){
1417				target.removeClass('on');
1418				target[0].style.zIndex = 11; //FIXME
1419			},time);
1420
1421			setTimeout(function(){
1422				target.hide();
1423				$('html').removeClass('overflow');
1424			}, time + 300);
1425			// setTimeout(function(){
1426			// 	target.modal('hide');
1427			// },time);
1428			// [e] via common.js .on('click','[data-toggle=toast]', ...)
1429			
1430			
1431			return false;
1432		};
1433		return {
1434			open: function(v, position, time, closeCallback, title) {
1435				// console.log(">>>toast = ", v, )
1436				_toastModal.toastClear();
1437				
1438				if (isNotEmpty(time)) {
1439					_toastModal.set.time = time || 0;
1440				}
1441				if (isNotEmpty(position)) {
1442					switch (position) {
1443						case _positionTypes.top: break;
1444						case _positionTypes.middle: break;
1445						case _positionTypes.bottom: break;
1446						default :
1447							bts.isDebug() && console.log(ns + '.open :: Invalid position(' + position + '). Choose one --> ' + _positionTypes.join(', '));
1448							position = defaultPosition;
1449							break;
1450					}
1451					_toastModal.set.position = position;
1452				}
1453				return _toastModal.toast(v, closeCallback, title);
1454			},
1455			positionTypes: _positionTypes
1456		}
1457	})();
1458    /*]]>*/
1459</script>
1459
1460
1461
1462<!-- alert2 -->
1463<div id="myModal" class="modal alert" data-backdrop="static" style="display: none;">
1464	<div class="modal-inner">
1465		<a href="#" class="ico close modalClose" data-ele-name="btnCloseAlert">닫기</a>
1466		<div class="modal-header" data-ele-name="header">
1467			<div class="modal-title" data-column-name="title">알림</div>
1468		</div>
1469		<div class="modal-body" data-ele-name="body">
1470			<div class="estimate-txtbox">
1471				<p class="txt1"><span>Successfully Submitted!</span></p>
1472				<p class="txt2"><span>You’ll be contacted by up to<br />3 clinics with a price quote</span></p>
1473				<p class="txt3"><span>You can review your request on My Page.</span></p>
1474			</div>
1475		</div>
1476		<div class="modal-footer">
1477			<a href="javascript:void(0)" class="btn positive modalClose" data-column-name="btnOk"><span>OK</span></a>
1478		</div>
1479	</div>
1480	<div class="modal-dim" id="myModalDim" onclick="(function(){$(this).hide(); $(this).removeClass('on');})(this)"></div>
1481</div>
1482
1483<!-- <div id="myModal" class="modal-base modal fade show min-type" tabindex="-1" role="dialog" data-backdrop="static" style="display: none;">
1484	<div class="modal-dialog modal-dialog-scrollable modal-dialog-centered" role="document">
1485		<div class="modal-content">
1486			<div class="modal-header" data-ele-name="header" style="position: relative; display: none">
1487				<h5 class="modal-title" data-column-name="title">loading...</h5>
1488				<button type="button" class="close" aria-label="Close" data-ele-name="btnCloseAlert">
1489					<i class="icon-hd-close"></i>
1490				</button>
1491			</div>
1492			<div class="modal-body" data-ele-name="body">
1493				<div class="estimate-txtbox">
1494					<p class="txt1"><span th:text="#{estimate.msg.succeesfully.submitted}">상담신청서가 제출되었습니다.</span></p>
1495					<p class="txt2"><span th:utext="#{estimate.msg.reviewing.your.request}">회원님의 신청서를 검토한 병원에서<br />연락드릴 예정입니다.</span></p>
1496					<p class="txt3"><span th:text="#{estimate.msg.requeston.page}">제출하신 상담신청서는 마이페이지에서 확인 가능합니다.</span></p>
1497				</div>
1498			</div>
1499			<div class="modal-footer">
1500				<button type="button" class="btn btn-lg btn-block btn-secondary" data-column-name="btnOk"><span th:text="#{estimate.msg.ok}">확인</span></button>
1501			</div>
1502		</div>
1503	</div>
1504</div> -->
1505<script>
1506    /*<![CDATA[*/
1507    var alertModal2 = (function(){
1508
1509        var ns = 'alertModal2';
1510
1511        var _alertModal = {
1512            el: {
1513                p: null,
1514                $p: null,
1515                title: null,
1516                btnOk: null,
1517                close: null,
1518                header: null,
1519                body: null,
1520                wrapperTemplateItem: null
1521            },
1522            confirmCallback: function() {
1523                bts.isDebug() && console.log(ns + '.confirmCallback :: confirm');
1524            }
1525        };
1526
1527        _alertModal.alertInit = function() {
1528
1529            _alertModal.el.p = sel('#myModal');
1530			_alertModal.el.$dim = $('#myModalDim', '#myModal');
1531            _alertModal.el.$p = $(_alertModal.el.p);
1532            _alertModal.el.title = _alertModal.el.$p.find('[data-column-name="title"]');
1533            _alertModal.el.btnOk = _alertModal.el.$p.find('[data-column-name="btnOk"]');
1534            _alertModal.el.close = _alertModal.el.$p.find('[data-ele-name="btnCloseAlert"]');
1535            _alertModal.el.header = _alertModal.el.$p.find('[data-ele-name="header"]');
1536            _alertModal.el.body = _alertModal.el.$p.find('[data-ele-name="body"]');
1537
1538            var _close = function() {
1539                // _alertModal.el.$p[0].style.zIndex = 0; //FIXME
1540				_alertModal.el.$p.css("z-index", "0"); //FIXME
1541				_alertModal.el.$p.hide();
1542				_alertModal.el.$p.removeClass('on');
1543				_alertModal.el.$dim.removeClass('on');
1544            };
1545            var _confirm = function() {
1546                _alertModal.el.$p[0].style.zIndex = 0; //FIXME
1547                if (isFunction(_alertModal.confirmCallback)) {
1548                    _alertModal.confirmCallback();
1549                }
1550            };
1551            _alertModal.el.close[0].onclick = function(e) {
1552                _alertModal.el.$p.modal('hide');
1553                _close();
1554            };
1555
1556            _alertModal.el.$p.on('hidden.bs.modal' , function() {
1557                _close();
1558            });
1559            _alertModal.el.btnOk[0].onclick = function(e) {
1560                _alertModal.el.$p.modal('hide');
1561                _confirm();
1562            };
1563        };
1564        _alertModal.alertInit();
1565
1566        _alertModal.alertClear = function() {
1567
1568            _alertModal.confirmCallback = function() {
1569                bts.isDebug() && console.log(ns + '.confirmCallback :: confirm');
1570            };
1571
1572            hideEles(_alertModal.el.header[0]);
1573            _alertModal.el.title[0].innerHTML = 'Info';
1574            _alertModal.el.btnOk[0].innerHTML = 'Ok';
1575
1576            _alertModal.el.body[0].innerHTML = '';
1577        };
1578        _alertModal.alert = function(v, confirmCallback, confirmBtnText, title) {
1579
1580            _alertModal.alertClear();
1581
1582            if (isFunction(confirmCallback)) {
1583
1584                _alertModal.confirmCallback = confirmCallback;
1585            }
1586
1587            if (title) {
1588                showEles(_alertModal.el.header[0]);
1589                _alertModal.el.title[0].innerHTML = title;
1590            }
1591            if (confirmBtnText) {
1592                _alertModal.el.btnOk[0].innerHTML = confirmBtnText;
1593            }
1594
1595            _alertModal.el.body[0].innerHTML = v || '';
1596
1597            // _alertModal.el.$p.modal();
1598            // _alertModal.el.$p[0].style.zIndex = 1052; //FIXME
1599			_alertModal.el.$p.css("z-index", "999"); //FIXME
1600			_alertModal.el.$p.show();
1601			_alertModal.el.$p.addClass('on');
1602			_alertModal.el.$dim.addClass('on');
1603			
1604			ModalUtils.adjustPosition();
1605			
1606            return false;
1607        };
1608        return {
1609            open: function(v, confirmCallback, confirmBtnText, title) {
1610                return _alertModal.alert(v, confirmCallback, confirmBtnText, title);
1611            }
1612        }
1613    })();
1614    /*]]>*/
1615</script>
1615
1616
1617<script>
1618    /*<![CDATA[*/
1619    var testConfirmModal = function() {
1620        confirmModal.open($('<div>').html(
1621            '<img src = "https://files.beautycorn.ai/data.dev2/banner_pc/b1f46d585b844266a7e515be1fac3424.png" />')[0]
1622            , function(){ bts.alert('자세히 보기'); }
1623            , function(){ bts.alert('오늘은 보지 않기'); }
1624            , '프로모션','자세히 보기','오늘은 보지 않기');
1625    };
1626    var testAlertModal = function() {
1627        alertModal.open($('<div>').html(
1628            '<img src = "https://files.beautycorn.ai/data.dev2/banner_pc/b1f46d585b844266a7e515be1fac3424.png" />')[0]
1629            , function(){ bts.alert('자세히 보기'); }, '프로모션');
1630    };
1631    var testAlertModal2 = function() {
1632        alertModal2.open('<div class="estimate-txtbox">\n' +
1633				'            <p class="txt1"><span th:text="#{estimate.msg.succeesfully.submitted}">상담신청서가 제출되었습니다.</span></p>\n' +
1634				'            <p class="txt2"><span th:utext="#{estimate.msg.reviewing.your.request}">회원님의 신청서를 검토한 병원에서<br />연락드릴 예정입니다.</span></p>\n' +
1635				'            <p class="txt3"><span th:text="#{estimate.msg.requeston.page}">제출하신 상담신청서는 마이페이지에서 확인 가능합니다.</span></p>\n' +
1636				'        </div>'
1637            , function(){ console.log('alertModal2 eee'); }, 'OKKK', 'Info eee');
1638    };
1639    /*]]>*/
1640</script>
1640
1641
1642
1643    <!-- 로그인 -->
1644
1645    <div id="mdLogin" class="modal page" style="display: none;">
1646        <div class="modal-inner">
1647            <header class="header">
1648                <div class="center">
1649                    <h1>로그인</h1>
1650                </div>
1651                <div class="right">
1652                    <ul class="util">
1653                    <li><a href="#" class="ico close modalClose">닫기</a></li>
1654                    </ul>
1655                </div>
1656            </header>
1657
1658            <div class="modal-body">
1659                <div class="container center-layout">
1660                    <div class="emoji center">
1661                        <img src="/img/logo-symbol.svg" alt="" style="max-width: 80px;">
1662                    </div>
1663                    <h2>Welcome!</h2>
1664
1665                    <div class="form">
1666                        <a href="/login/apple" class="login-btn" data-sns_type="apple" style="display:none;">
1667                            <img src="/img/login-apple.png" alt="">
1668                        </a>
1669                        <a href="/login/kakaotalk" class="login-btn">
1670                            <img src="/img/login-kakao.png" alt="">
1671                        </a>
1672                        <a href="/login/google" class="login-btn">
1673                            <img src="/img/login-google.png" alt="">
1674                        </a>
1675                        <a href="/emailJoin" class="login-btn">
1676                            <img src="/img/login-email.png" alt="">
1677                        </a>
1678
1679                        <div class="aleady">
1680                            <span>Already a member?</span>
1681                            <a href="/emailLogin" class="text-btn">Log in with email</a>
1682                        </div>
1683                    </div>
1684                </div>
1685            </div>
1686        </div>
1687
1688        
1688<script>
1689            /*<![CDATA[*/
1690            if(bts.isIOS()){
1691		    	showEles(sel('[data-sns_type="apple"]'));
1692		    	// hideEles(sel('[data-sns_type="line"]'));
1693		    };
1694            var loginPopModal = (function() {
1695            
1696                var ns = 'loginPopModal';
1697            
1698                var _pEle = sel('#mdLogin');
1699                var _$pEle = $(_pEle);
1700            
1701                var on = function() {
1702                    // _$pEle.modal({
1703                    //     show: true,
1704                    //     keyboard: true
1705                    // });
1706                    _$pEle.css("z-index", "999999"); //FIXME
1707                    _$pEle.show();
1708                    _$pEle.addClass('on');
1709                };
1710
1711                // var close = function() {
1712                //     _$pEle.removeClass('on');
1713                //     _$pEle.css("z-index", "11")
1714                //     _$pEle.hide();
1715                //     $('html').removeClass('overflow');
1716                // };
1717                
1718                var init = function(no) {
1719                    on();
1720                    var fbEventName = "login";
1721                    var fbParams = {method: "groomingjok"};
1722                    logEvent(fbEventName, fbParams);
1723                };
1724            
1725                return {
1726                    init: init
1727                    , on: on
1728                };
1729            })();
1730            /*]]>*/
1731        </script>
1731
1732    </div>
1733    
1734    <!-- <div id="mdLogin" class="modal fade" tabindex="-1" role="dialog" style="display: none;">
1735        <div class="modal-dialog modal-dialog-scrollable modal-dialog-centered" role="document">
1736            <div class="modal-content">
1737                <div class="modal-header">
1738                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
1739                        <i class="icon-hd-close"></i>
1740                    </button>
1741                </div>
1742                <div class="modal-body">
1743                    <div class="center-block">
1744                        <h2 th:text="#{login.main.txt.welcome}">환영합니다.</h2>
1745                    </div>
1746                    <ul class="social-login">
1747                    	<li class="col" data-sns_type="apple" style="display:none;">
1748                            <a th:href="@{/login/apple}" class="mdlogin-apple">
1749                                <div class="sr-only">애플 계정으로 로그인</div>
1750                            </a>
1751                        </li>                        
1752                        <li class="col" style="display:none;">
1753                            <a th:href="@{/login/facebook}" class="mdlogin-facebook">
1754                                <div th:text="#{login.main.txt.login.by.facebook}" class="sr-only">페이스북으로 로그인</div>
1755                            </a>
1756                        </li>
1757                        <li class="col">
1758                            <a th:href="@{/login/kakaotalk}" class="mdlogin-kakao">
1759                                <div th:text="#{login.main.txt.login.by.kakaotalk}" class="sr-only">카카오톡으로 로그인</div>
1760                            </a>
1761                        </li>
1762                        <li class="col" data-sns_type="line" style="display:none;">
1763                            <a th:href="@{/login/line}" class="mdlogin-line">
1764                                <div th:text="#{login.main.txt.login.by.line}" class="sr-only">라인으로 로그인</div>
1765                            </a>
1766                        </li>
1767                        <li class="col">
1768                            <a th:href="@{/login/google}" class="mdlogin-google">
1769                                <div th:text="#{login.main.txt.login.by.google}" class="sr-only">구글로 로그인</div>
1770                            </a>
1771                        </li>
1772                    </ul>
1773                    <div class="center-block" th:text="#{login.main.txt.or}">또는</div>
1774                    <div class="buttons-group">
1775                        <a th:href="@{/emailJoin}" th:text="#{login.main.txt.join.email}" class="btn btn-block btn-outline-muted">이메일로 회원가입</a>
1776                    </div>
1777                    <div class="d-flex justify-content-between align-items-center">
1778                        <span th:text="#{login.main.txt.already.member}">이미 회원이신가요?</span>
1779                        <a th:href="@{/emailLogin}" th:text="#{login.main.txt.login.by.email}">이메일로 로그인</a>
1780                    </div>
1781                </div>
1782            </div>
1783        </div>
1784
1785    </div> -->
1786    <!-- //로그인 -->
1787
1788
1789	<div class="modal sheet center bg targetCloseProtect autoHieght" data-ele-name="selectSingleModal">
1790		<div class="modal-inner">
1791			<span class="sheet-bar"><!-- X없는 팝업 공통으로 추가 --></span>
1792			<div class="modal-body">
1793				<div class="selectbox single">
1794					<div>
1795						<ul data-ele-name="selectSingleUl">
1796						</ul>
1797					</div>
1798				</div>
1799			</div>
1800		</div>
1801		<div class="modal-dim closeInner" data-ele-name="selectSingleModalDim"></div>
1802	</div>
1803<script>
1804	/*<![CDATA[*/
1805	var selectSingleModal = (function(){
1806		
1807		var _$p = $('[data-ele-name="selectSingleModal"]');
1808		var _selectSingleModal = {
1809			$el: {
1810				modalDiv: $('[data-ele-name="selectSingleModal"]'),
1811				modalDim: $('[data-ele-name="selectSingleModalDim"]',_$p),
1812				swiperSelect: []
1813			},
1814			set: {
1815				time: 300
1816			},
1817			callback: null,
1818			selectObj: null
1819		};
1820
1821		var init = function(selectObj, callback, _selInx) {
1822			if(!_selInx) {
1823				_selInx = 0;
1824			}
1825			btnEvent();
1826			_selectSingleModal.callback = callback;
1827			_selectSingleModal.selectObj = selectObj;
1828
1829			//select box 초기화
1830			$('.selectbox.single').empty();
1831			if(selectObj != null && selectObj.length > 0){
1832				var _html = '';
1833				for(var index in selectObj){
1834					_html += '<div id="select_'+index+'">';
1835					_html += '<ul>';
1836					for(var subIdx in selectObj[index]){
1837						_html += `<li class="swiper-slide ${_selInx == subIdx ? 'active' : ''}" data-v="${selectObj[index][subIdx].val}" data-t="${selectObj[index][subIdx].text}">`;
1838						if(selectObj[index][subIdx].val == 'report'){
1839							_html += '<span data-v="'+ selectObj[index][subIdx].val +'" data-t="'+ selectObj[index][subIdx].text +'"><a href="javascript:void(0)"><em class="red">' + selectObj[index][subIdx].text + '</em></a></span>';
1840						}else{
1841							_html += '<span data-v="'+ selectObj[index][subIdx].val +'" data-t="'+ selectObj[index][subIdx].text +'"><a href="javascript:void(0)">' + selectObj[index][subIdx].text + '</a></span>';
1842						}
1843						_html += '</li>';
1844					}
1845					_html += '</ul>';
1846					_html += '</div>';
1847					$('.selectbox.single').html(_html);
1848				}
1849			}
1850			// sts.hideAppNavi();
1851			_selectSingleModal.$el.modalDiv.show();
1852			_selectSingleModal.$el.modalDim.show();
1853			_selectSingleModal.$el.modalDiv.addClass('on');
1854			setTimeout(function() {
1855				_selectSingleModal.$el.modalDim.addClass('on');
1856		    }, _selectSingleModal.set.time);
1857			_selectSingleModal.$el.modalDiv.css('zIndex', 3001);
1858
1859			$('.swiper-slide', _$p).off().on('click',function() {
1860				var rtnVal = [];
1861				var selectText = $(this).data('t');
1862					rtnVal.push($(this).data('v'));
1863				_selectSingleModal.callback(rtnVal);
1864				_selectSingleModal.$el.modalDim.removeClass('on');
1865				_selectSingleModal.$el.modalDiv.removeClass('on');
1866				_selectSingleModal.$el.modalDiv.hide();
1867				_selectSingleModal.$el.modalDim.hide();
1868				_selectSingleModal.$el.modalDiv.css('zIndex', 0);
1869				// if(sts.getShowNaviCnt() > 0 && selectText != '신고') {
1870				// 	sts.showAppNavi();
1871				// }
1872			});
1873		};
1874
1875		var btnEvent = function () {
1876			$('[data-ele-name="selectSingleModalDim"]', _$p).off().on('click',function() {
1877				_selectSingleModal.$el.modalDim.removeClass('on');
1878				_selectSingleModal.$el.modalDiv.removeClass('on');
1879				_selectSingleModal.$el.modalDiv.hide();
1880				_selectSingleModal.$el.modalDim.hide();
1881				_selectSingleModal.$el.modalDiv.css('zIndex', 0);
1882				// if(sts.getShowNaviCnt() > 0) {
1883				// 	sts.showAppNavi();
1884				// }
1885			});
1886		} 
1887
1888		var _interface = new List();
1889		_interface.init = init;
1890		return _interface;
1891	})();
1892	/*]]>*/
1893</script>
1893
1894
1895
1896
1897<div id="wrap">
1898	
1899	<!-- header -->
1900	<header id="hd" style="display: none">
1901		<h1><a href="/"><img src="/img/logo.svg" alt="GroomingJok"></a></h1>
1902		<h2 data-column-name="headerTitle">loading...</h2>
1903		<div class="hd-rt">
1904			<a class="icon-hd-srch" href="/search" data-toggle="srch" data-ele-name="btnSearch">Search</a>
1905			<a class='icon-hd-basket' href="javascript:sts.loginUrlHref(&#39;/store/shoppingBasket&#39;)" data-ele-name="btnShoppingBasket">장바구니</a>
1906			<!-- <a class="icon-hd-home" data-ele-name="btnHome" th:href="${pathIndex}" th:text="#{common.msg.home}">홈</a> -->
1907			<a class="icon-hd-user" href="/mypage" data-ele-name="btnMypage">My Page</a>
1908		</div>
1909	</header>
1910	
1910<script>
1911	/*<![CDATA[*/
1912		var headerFragment = {};
1913		headerFragment.el = sel('#hd');
1914		headerFragment.on = function() {
1915			headerFragment.el.style.display = '';
1916		};
1917		headerFragment.off = function() {
1918			headerFragment.el.style.display = 'none';
1919		};
1920		headerFragment.setTitle = function(text) {
1921			sel('[data-column-name="headerTitle"]', headerFragment.el).innerHTML = text;
1922		};
1923	/*]]>*/
1924</script>
1924
1925	
1925<script>
1926		/*<![CDATA[*/
1927		var layerHeader = (function() {
1928			var _pEle;
1929               var _el = {};
1930               var onRight = function () {
1931                   showEles(_el.headerRight);
1932               };
1933               var offRight = function () {
1934                   hideEles(_el.headerRight);
1935               };
1936               var initEl = function(pEle) {
1937                   _pEle = isEle(pEle) ? sel('[data-ele-name="layerHeaderWrapper"]', pEle)
1938						: sel('[data-ele-name="layerHeaderWrapper"]');
1939                   _el = {
1940                       p: _pEle,
1941                       modalBack: sel('[data-ele-name="modalBack"]', _pEle),
1942                       headerRight: sel('[data-ele-name="headerRight"]', _pEle),
1943                       btnSearch: sel('[data-ele-name="btnSearch"]', _pEle),
1944                       btnShoppingBasket: sel('[data-ele-name="btnShoppingBasket"]', _pEle),
1945                       btnHome: sel('[data-ele-name="btnHome"]', _pEle),
1946                       _end: ''
1947                   };
1948               };
1949               var initEvent = function() {
1950                   _el.modalBack.onclick = function(e){
1951                       //e.preventDefault();
1952
1953                       // history 처리
1954                       // overlay.on();
1955                       DomUtil.goBack();
1956                   };
1957               };
1958    
1959               var _interface = {};
1960               _interface.onRight = function () {
1961                   onRight();
1962               };
1963               _interface.offRight = function () {
1964                   offRight();
1965               };
1966               _interface.getEl = function () {
1967                   return _pEle;
1968               };
1969               _interface.init = function (cfg, pEle) {
1970                   initEl(pEle);
1971                   initEvent();
1972                   showEles(_el.btnHome);
1973                   showEles(_el.btnShoppingBasket);
1974                   showEles(_el.btnSearch);
1975                   onRight();
1976               };
1977			return _interface;
1978		})();
1979		/*]]>*/
1980	</script>
1980
1981	<!-- //header -->
1982
1983	
1984	
1985	<div class="lst-wrap" data-ele-name="templateWrapperListItems" style="display: none">
1986		<ul class="lst-default lst-treatment" data-ele-name="templateWrapperEmptyItem" style="display: none">
1987			<li>
1988				<a class="media" href="javascript:void(0)" data-column-name="wrapperLink">
1989					<div class="media-body">
1990						<h4 class="tit"><span data-column-name="title">loading...</span></h4>
1991						<div class="price">Not yet translated</div>
1992					</div>
1993				</a>
1994			</li>
1995		</ul>
1996
1997		<ul data-ele-name="templateWrapperTreatment" style="display: none">
1998			<li>
1999				<a href="javascript:void(0)" data-column-name="wrapperLink" class="item">
2000					<div class="info">
2001						<div class="rep">
2002							<div data-column-name="title">눈매 교정</div>
2003							<span class="badge" data-column-name="surgicalType">비수술</span>
2004						</div>
2005						<div class="desc"><b data-column-name="price">110만원~300만원</b></div>
2006					</div>
2007					<div class="likeView" data-column-name="likeCnt">0</div>
2008					<span class="ico arrow" data-column-name="likeCnt">상세</span>
2009				</a>
2010			</li>
2011		</ul>
2012
2013		<!-- <ul class="lst-default lst-treatment" data-ele-name="templateWrapperTreatment" style="display: none">
2014			<li>
2015				<a class="media" th:href="|javascript:void(0)|" data-column-name="wrapperLink">
2016					<div class="media-body">
2017						<span class="surgery-mark text-secondary" data-column-name="surgicalType">loading...</span>
2018						<h4 class="tit"><span data-column-name="title">loading...</span></h4>
2019						<div class="price">
2020							<strong data-column-name="price">loading...</strong>
2021						</div>
2022						<dl class="dl-meta">
2023							<dt><i class="icon-like" th:text="#{common.msg.like}">좋아요</i></dt>
2024							<dd data-column-name="likeCnt">loading...</dd>
2025						</dl>
2026					</div>
2027				</a>
2028			</li>
2029		</ul> -->
2030
2031		<ul data-ele-name="templateWrapperTreatmentMain" style="display: none">
2032			<li class="swiper-slide">
2033				<a href="javascript:void(0)" class="item" data-column-name="wrapperLink">
2034					<img 
2035						data-column-name="image"
2036						src="https://files.beautysocial.io/data.dev/txcollect/a115f5216f9c4446a7cdfc98dbee7551.png" 
2037						alt="">
2038				</a>
2039			</li>
2040        </ul>
2041		<!-- <ul class="lst-default lst-maintreatment" data-ele-name="templateWrapperTreatmentMain" style="display: none">
2042	        <li>
2043	            <a class="media" th:href="|javascript:void(0)|" data-column-name="wrapperLink">
2044	                <img data-column-name="image" src="" alt="" class="img-fluid" />
2045	            </a>
2046	        </li>
2047        </ul> -->
2048
2049		<ul data-ele-name="templateWrapperDoctor2" style="display: none">
2050			<li class="swiper-slide">
2051				<a href="javascript:void(0)" class="infobox-item" data-column-name="wrapperLink">
2052					<div class="inner">
2053						<ul class="cta-plus">
2054							<li class="doctor">
2055								<div class="item">
2056									<div
2057										data-column-name="image" 
2058										class="img">
2059										<div class="talk-info">
2060											<div class="desc">
2061												<div class="score" data-column-name="evalPoint">4.9</div>
2062											</div>
2063										</div>
2064									</div>
2065								</div>
2066							</li>
2067						</ul>
2068						<div class="info">
2069							<div class="tit" data-column-name="title">엔젤미의원</div>
2070							</div>
2071						<span class="ico arrow">더 보기</span>
2072					</div>
2073				</a>
2074			</li>
2075		</ul>
2076
2077		<ul data-ele-name="templateWrapperDoctor" style="display: none">
2078			<li>
2079				<a href="javascript:void(0)" class="item" data-column-name="wrapperLink">
2080					<div class="thumbnail profile">
2081						<img 
2082							data-column-name="image"
2083							src="https://files.beautysocial.io/data.dev/doctor/7c94fc68af084459ab7c652bf2bff0bd.jpg" alt="">
2084						<img 
2085							data-column-name="image2"
2086							class="shadow" src="https://files.beautysocial.io/data.dev/doctor/7c94fc68af084459ab7c652bf2bff0bd.jpg"
2087							alt="">
2088					</div>
2089					<div class="info">
2090						<div class="rep">
2091							<div data-column-name="title">백승만 원장</div>
2092						</div>
2093						<div class="side">
2094							<div class="name" data-column-name="major">마취과 전문의</div>
2095							<div class="desc" data-column-name="hospitalNm">엔젤미의원</div>
2096							<div class="score" data-column-name="evalPoint">5.0</div>
2097						</div>
2098						<ul class="list-cte" data-ele-name="txPart">
2099						</ul>
2100					</div>
2101					<span class="ico arrow">상세</span>
2102				</a>
2103			</li>
2104		</ul>
2105
2106		<!-- <ul class="lst-default lst-people" data-ele-name="templateWrapperDoctor" style="display: none">
2107			<li>
2108				<a class="media" th:href="|javascript:void(0)|" data-column-name="wrapperLink">
2109					<div class="rank_wrap" data-ele-name="rank" style="display: none">
2110						<p class="rank" data-column-name="rank">loading...</p>
2111						<p class="ranking_num" data-column-name="rankChangeWrapper">
2112							<i class="icon-rank"></i><span data-column-name="rankChange" style="display: none">loading...</span>
2113						</p>
2114					</div>
2115					<div class="profile">
2116						<i class="img" data-column-name="image" th:style="|background-image: url('@{/img/profile-doctor.png}');|"></i>
2117					</div>
2118					<div class="media-body">
2119						<span class="surgery-mark" data-column-name="major">loading...</span>
2120						<h4 class="tit"><span data-column-name="title">loading...</span></h4>
2121						<div class="sub-tit" data-column-name="hospitalNm">loading...</div>
2122						<ul class="lst-site" data-ele-name="txPart">
2123							<li>loading...</li>
2124						</ul>
2125						<div class="individual-star">
2126                            <div class="star-wrap">
2127                                <i class="icon-star"></i>
2128                                <i class="icon-star"></i>
2129                                <i class="icon-star"></i>
2130                                <i class="icon-star"></i>
2131                                <i class="icon-star"></i>
2132                                <span class="star" style="width: 0" data-column-name="starWidth">
2133                                    <i class="icon-star active"></i>
2134                                    <i class="icon-star active"></i>
2135                                    <i class="icon-star active"></i>
2136                                    <i class="icon-star active"></i>
2137                                    <i class="icon-star active"></i>
2138                                </span>
2139                            </div>
2140                        </div>
2141                        <span class="score-val" data-column-name="evalPoint">
2142                            loading...
2143                        </span>
2144					</div>
2145				</a>
2146			</li>
2147		</ul> -->
2148
2149		<ul data-ele-name="templateWrapperHospital" style="display: none">
2150			<li>
2151                <a href="javascript:void(0)" class="item" data-column-name="wrapperLink">
2152					<div class="rank_wrap" data-ele-name="rank" style="display: none">
2153						<p class="rank" data-column-name="rank">loading...</p>
2154						<p class="ranking_num" data-column-name="rankChangeWrapper">
2155							<i class="icon-rank"></i><span data-column-name="rankChange" style="display: none">loading...</span>
2156						</p>
2157					</div>
2158					<div class="thumbnail profile">
2159						<img
2160							data-column-name="image" 
2161							src="https://files.beautysocial.io/data.dev/prov/873fb7538ea34acea91678f4be740174.png"
2162							alt="">
2163						<img 
2164							data-column-name="image2"
2165							class="shadow" 
2166							src="https://files.beautysocial.io/data.dev/prov/873fb7538ea34acea91678f4be740174.png"
2167							alt="">
2168					
2169					</div>
2170					<div class="info">
2171						<div class="rep">
2172							<div data-column-name="title">엠레드XY</div>
2173						</div>
2174						<div class="side">
2175							<!-- <div class="desc">서울특별시 강남역</div> -->
2176							<!-- <span data-ele-name="locationInfo"> -->
2177								<div class="desc" data-column-name="address">loading...</div> 
2178								<em class="loacation" data-column-name="areaNm" style="display: none">loading...</em>
2179							<!-- </span> -->
2180							<div class="score" data-column-name="evalPoint">5.0</div>
2181						</div>
2182						<ul class="list-cte" data-ele-name="txPart">
2183						</ul>
2184					</div>
2185                  	<span class="ico arrow">상세</span>
2186                </a>
2187              </li>
2188		</ul>
2189
2190		<!-- <ul class="lst-default lst-hospital" data-ele-name="templateWrapperHospital" style="display: none">
2191			<li>
2192				<a class="media" th:href="|javascript:void(0)|" data-column-name="wrapperLink">
2193					<div class="rank_wrap" data-ele-name="rank" style="display: none">
2194						<p class="rank" data-column-name="rank">loading...</p>
2195						<p class="ranking_num" data-column-name="rankChangeWrapper">
2196							<i class="icon-rank"></i><span data-column-name="rankChange" style="display: none">loading...</span>
2197						</p>
2198					</div>
2199					<div class="profile">
2200						<i class="img" data-column-name="image" th:style="|background-image: url('@{/img/profile-hospital.png}');|"></i>
2201					</div>
2202					<div class="media-body" style="
2203							word-break: break-word
2204					">
2205						<h4 class="tit" data-column-name="title">loading...</h4>
2206						<div class="sub-tit" data-ele-name="locationInfo"><span data-column-name="address">loading...</span> <span data-column-name="areaNm" style="display: none">loading...</span></div>
2207						<ul class="lst-site" data-ele-name="txPart">
2208							<li>loading...</li>
2209						</ul>
2210						<div class="individual-star">
2211                            <div class="star-wrap">
2212                                <i class="icon-star"></i>
2213                                <i class="icon-star"></i>
2214                                <i class="icon-star"></i>
2215                                <i class="icon-star"></i>
2216                                <i class="icon-star"></i>
2217                                <span class="star" style="width: 0" data-column-name="starWidth">
2218                                    <i class="icon-star active"></i>
2219                                    <i class="icon-star active"></i>
2220                                    <i class="icon-star active"></i>
2221                                    <i class="icon-star active"></i>
2222                                    <i class="icon-star active"></i>
2223                                </span>
2224                            </div>
2225                        </div>
2226                        <span class="score-val" data-column-name="evalPoint">
2227                            loading...
2228                        </span>
2229					</div>
2230				</a>
2231			</li>
2232		</ul> -->
2233		
2234		<ul class="lst-default lst-hospital" data-ele-name="templateCommonRankingSelected" style="display: none">
2235			<li class="ranking_info">
2236	            <a href="javascript:void(0)" data-column-name="rankingSelected">
2237	                <span>How is GroomingJok Ranking selected?</span> <i class="xi-angle-right"></i>
2238	            </a>
2239        	</li>
2240        </ul>
2241
2242		<ul data-ele-name="templateWrapperEvent" style="display: none">
2243			<li>
2244				<a href="javascript:void(0)" class="item" data-column-name="wrapperLink">
2245					<div class="thumbnail">
2246						<img data-column-name="image" src="https://files.beautysocial.io/data.dev/event_detail/30d73c58bc854ff2985e7e6de29b31e4.jpg" alt="">
2247						<!-- 이벤트 썸네일 이미지를 가져오는데 디자인을 위해 shadow에도 한번 더 가져와주세요 -->
2248						<img data-column-name="image2" class="shadow" src="https://files.beautysocial.io/data.dev/event_detail/30d73c58bc854ff2985e7e6de29b31e4.jpg"
2249							alt="">
2250					</div>
2251					<div class="info">
2252						<div class="tit" data-column-name="title">젠틀맥스프로플러스 제모 1회 특가!</div>
2253						<div class="desc" data-column-name="subTitle">
2254							윤곽주사로 얼굴형을 갸름하고 V라인을 찾고 또 찾고 찾아보자
2255						</div>
2256						<div class="side">
2257							<div class="name" data-column-name="name">엔젤미의원</div>
2258							<div class="score" data-column-name="evalPoint">5.0</div>
2259							<em class="loacation" data-column-name="address">강남역</em>
2260						</div>
2261						<div class="rep">
2262							<span class="sale" data-column-name="discountedPercentage">46%</span>
2263							<div data-column-name="discountedPrice">6.9만원</div>
2264							<span class="before" data-column-name="price">12.9만원</span>
2265						</div>
2266					</div>
2267				</a>
2268			</li>
2269
2270			<!-- <li>
2271	            <a class="media" th:href="|javascript:void(0)|" data-column-name="wrapperLink">
2272	                <div class="profile rect">
2273	                    <i class="img" data-column-name="image" th:style="|background-image: url(@{/img/profile-hospital.png});|"></i>
2274	                </div>
2275	                <div class="media-body">
2276	                    <h4 class="tit" data-column-name="title">loading...</h4>
2277	                    <div class="sub-tit" data-column-name="subTitle">loading...</div>
2278	                    <div class="naming-tag"><bs data-column-name="name">loading...</bs><span class="station" data-column-name="address">loading...</span></div>
2279	                    <div class="star-box">
2280	                        <div class="individual-star">
2281	                            <div class="star-wrap">
2282	                                <i class="icon-star"></i>
2283	                                <i class="icon-star"></i>
2284	                                <i class="icon-star"></i>
2285	                                <i class="icon-star"></i>
2286	                                <i class="icon-star"></i>
2287	                                <span class="star" style="width: 0" data-column-name="starWidthMain">
2288	                                    <i class="icon-star active"></i>
2289	                                    <i class="icon-star active"></i>
2290	                                    <i class="icon-star active"></i>
2291	                                    <i class="icon-star active"></i>
2292	                                    <i class="icon-star active"></i>
2293	                                </span>
2294	                            </div>
2295	                        </div>
2296	                        <span class="score-val" data-column-name="evalPoint">
2297	                           loading...
2298	                        </span>
2299	                    </div>
2300	
2301	                    <strong class="text-secondary" data-column-name="discountedPercentageStrong"><span data-column-name="discountedPercentage">0%</span></strong>
2302	                    <strong class="text-dark"><span data-column-name="discountedPrice">loading...</span><s class="price" data-column-name="price">loading...</s></strong>
2303	                </div>
2304	            </a>
2305	        </li> -->
2306		</ul>
2307		
2308		<ul class="lst-common mt17" data-ele-name="templateWrapperEvent2" style="display: none">
2309			<li class="hot-event">
2310	            <a class="media" href="javascript:void(0)" data-column-name="wrapperLink">
2311	                <div class="profile rect">
2312	                    <i class="img" data-column-name="image" style="background-image: url(/img/profile-hospital.png);"></i>
2313	                </div>
2314	                <div class="media-body">
2315	                    <h4 class="tit" data-column-name="title">loading...</h4>
2316	                    <div class="sub-tit" data-column-name="subTitle">loading...</div>
2317	                    <div class="naming-tag"><bs data-column-name="name">loading...</bs><span class="station" data-column-name="address">loading...</span></div>
2318	                    <div class="star-box">
2319	                        <div class="individual-star">
2320	                            <div class="star-wrap">
2321	                                <i class="icon-star"></i>
2322	                                <i class="icon-star"></i>
2323	                                <i class="icon-star"></i>
2324	                                <i class="icon-star"></i>
2325	                                <i class="icon-star"></i>
2326	                                <span class="star" style="width: 0" data-column-name="starWidthMain">
2327	                                    <i class="icon-star active"></i>
2328	                                    <i class="icon-star active"></i>
2329	                                    <i class="icon-star active"></i>
2330	                                    <i class="icon-star active"></i>
2331	                                    <i class="icon-star active"></i>
2332	                                </span>
2333	                            </div>
2334	                        </div>
2335	                        <span class="score-val" data-column-name="evalPoint">
2336	                           loading...
2337	                        </span>
2338	                    </div>
2339	
2340	                    <strong class="text-secondary" data-column-name="discountedPercentageStrong"><span data-column-name="discountedPercentage">0%</span></strong>
2341	                    <strong class="text-dark"><span data-column-name="discountedPrice">loading...</span><s class="price" data-column-name="price">loading...</s></strong>
2342	                </div>
2343	            </a>
2344	        </li>
2345		</ul>
2346		
2347		<ul class="lst-common mt17" data-ele-name="templateWrapperEventModel" style="display: none">
2348			<li>
2349				<a href="javascript:void(0)" class="item" data-column-name="wrapperLink">
2350					<div class="thumbnail">
2351						<img data-column-name="image" src="" alt="">
2352					</div>
2353					<div class="info">
2354						<div class="tit" data-column-name="title">젠틀맥스프로플러스 제모 1회 특가!</div>
2355						<div class="desc" data-column-name="subTitle">
2356							윤곽주사로 얼굴형을 갸름하고 V라인을 찾고 또 찾고 찾아보자
2357						</div>
2358						<div class="side">
2359							<div class="name" data-column-name="name">엔젤미의원</div>
2360							<div class="score" data-column-name="evalPoint">5.0</div>
2361							<em class="loacation" data-column-name="address">강남역</em>
2362						</div>
2363						<!-- <div class="rep">
2364							<span class="sale" data-column-name="discountedPercentage">46%</span>
2365							<div data-column-name="discountedPrice">6.9만원</div>
2366							<span class="before" data-column-name="price">12.9만원</span>
2367						</div> -->
2368					</div>
2369				</a>
2370			</li>
2371			
2372			
2373			<!-- <li class="no-price">
2374	            <a class="media" th:href="|javascript:void(0)|" data-column-name="wrapperLink">
2375	                <div class="profile rect">
2376	                    <i class="img" data-column-name="image" th:style="|background-image: url(@{/img/profile-hospital.png});|"></i>
2377	                </div>
2378	                <div class="media-body">
2379	                    <h4 class="tit" data-column-name="title">loading...</h4>
2380	                    <div class="sub-tit" data-column-name="subTitle">loading...</div>
2381	                    <div class="naming-tag"><bs data-column-name="name">loading...</bs><span class="station" data-column-name="address">loading...</span></div>
2382	                    <div class="star-box">
2383	                        <div class="individual-star">
2384	                            <div class="star-wrap">
2385	                                <i class="icon-star"></i>
2386	                                <i class="icon-star"></i>
2387	                                <i class="icon-star"></i>
2388	                                <i class="icon-star"></i>
2389	                                <i class="icon-star"></i>
2390	                                <span class="star" style="width: 0" data-column-name="starWidthMain">
2391	                                    <i class="icon-star active"></i>
2392	                                    <i class="icon-star active"></i>
2393	                                    <i class="icon-star active"></i>
2394	                                    <i class="icon-star active"></i>
2395	                                    <i class="icon-star active"></i>
2396	                                </span>
2397	                            </div>
2398	                        </div>
2399	                        <span class="score-val" data-column-name="evalPoint">
2400	                           loading...
2401	                        </span>
2402	                    </div>
2403	                </div>
2404	            </a>
2405	        </li> -->
2406		</ul>
2407		
2408		<ul class="lst-default" data-ele-name="templateWrapperSkinCare" style="display: none">
2409			<li data-ele-name="templateWrapperSkinCareLi">
2410	            <a href="javascript:void(0)" data-column-name="wrapperLink1" class="ico-cart">담기</a>
2411	            <a href="javascript:void(0)" data-column-name="wrapperLink2" class="media">
2412	                <div class="profile rect">
2413	                    <i class="img" data-column-name="image" style="background-image: url(/img/profile-hospital.png);"></i>
2414	                </div>
2415	                <div class="media-body">
2416	                    <h4 class="tit text-truncate" data-column-name="productName">loading...</h4>
2417	                    <div class="sub-tit" data-column-name="brandName">loading...</div>
2418	                    <!-- <div class="naming-tag">
2418&nbsp;</div> -->
2419	                    <div class="star-box">
2420	                        <div class="individual-star">
2421	                            <div class="star-wrap">
2422	                                <i class="icon-star"></i>
2423	                                <i class="icon-star"></i>
2424	                                <i class="icon-star"></i>
2425	                                <i class="icon-star"></i>
2426	                                <i class="icon-star"></i>
2427	                                <span class="star" style="width: 0" data-column-name="starWidthMain">
2428	                                    <i class="icon-star active"></i>
2429	                                    <i class="icon-star active"></i>
2430	                                    <i class="icon-star active"></i>
2431	                                    <i class="icon-star active"></i>
2432	                                    <i class="icon-star active"></i>
2433	                                </span>
2434	                            </div>
2435	                        </div>
2436	                        <span class="score-val">
2437                                <bs data-column-name="evalPoint">loading...</bs>
2438                            </span>
2439	                        <!-- <dl class="dl-meta">
2440	                            <dd><em data-column-name="evalPoint">loading...</em>(<bs data-column-name="evalCnt">loading...</bs>)</dd>
2441	                        </dl> -->
2442	                    </div>
2443	                    <div>
2444	                        <strong class="text-secondary" data-column-name="discountedPercentage">loading...&#37;</strong>
2445	                        <strong class="text-dark"><span data-column-name="discountedPrice"></span>
2446	                            <s class="price" data-column-name="price">loading...</s>
2447	                        </strong>
2448	                    </div>
2449	
2450	                </div>
2451	            </a>
2452	        </li>
2453		</ul>
2454
2455		<ul data-ele-name="templateWrapperEvaluation" style="display: none">
2456			<li data-ele-name="templateWrapperEvaluationLiUser">
2457                <a href="javascript:void(0)" class="item">
2458					<div class="grid-div">
2459						<div class="left">
2460							<div class="profile">
2461								<div 
2462									data-column-name="profileImg"
2463									class="img"
2464									style="background-image: url(https://files.beautysocial.io/data.dev/profile/e44150e70e864eaca0b469db02b18003.png);">
2465								</div>
2466								<div class="name" data-column-name="name">Forest</div>
2467								<div class="date" data-column-name="date">2024.11.19</div>
2468							</div>
2469						</div>
2470						<div class="right">
2471							<div class="score" data-column-name="point">0.0</div>
2472						</div>
2473					</div>
2474					<p class="desc normal" data-column-name="content">
2475					</p>
2476				</a>
2477			</li>
2478			<li class="admin" data-ele-name="templateWrapperEvaluationLiProv">
2479				<div class="comment-item" data-ele-name="templateWrapperEvaluationProv" style="display: none">
2480					<div class="comment-head">
2481						<div class="profile-id">
2482							Clinic administrator
2483							<span class="date" data-column-name="provDate">loading...</span>
2484						</div>
2485					</div>
2486					<div class="comment-body-admin">
2487						<p data-column-name="provContent">
2488						loading...
2489						</p>
2490					</div>
2491				</div>
2492			</li>
2493		</ul>
2494		
2495		<!-- <ul class="lst-default lst-evaluation" data-ele-name="templateWrapperEvaluation" style="display: none">
2496			<li data-ele-name="templateWrapperEvaluationLiUser">
2497				<div class="comment-item">
2498					<div class="comment-head">
2499						<div class="left">
2500							<div class="profile">
2501								<i class="img" data-column-name="profileImg" style="background-image:url('/img/profile.png');"></i>
2502							</div>
2503							<span class="profile-id" data-column-name="name">loading...</span>
2504								<div class="individual-star">
2505									<div class="star_wrap">
2506	                                     <i data-column-name="star1" class="icon-star"></i>
2507	                                     <i data-column-name="star2" class="icon-star"></i>
2508	                                     <i data-column-name="star3" class="icon-star"></i>
2509	                                     <i data-column-name="star4" class="icon-star"></i>
2510	                                     <i data-column-name="star5" class="icon-star"></i>
2511	                                </div>
2512                                </div>
2513                                <span class="score-val">
2514                                	<span data-column-name="point">loading...</span>
2515                                </span>
2516						</div>
2517						<div class="right">
2518							<span class="date" data-column-name="date">loading...</span>
2519						</div>
2520						<div class="txt d-flex justify-content-between" style="display: none">
2521                        	<a th:href="|javascript:void(0)|" data-ele-name="reportModal" class="text-link text-muted" style="display: none">신고하기</a>
2522                        </div>
2523                   </div>
2524						<div class="comment-body" data-column-name="content">
2525							loading...
2526						</div>
2527				</div>
2528			</li>
2529			<li class="admin" data-ele-name="templateWrapperEvaluationLiProv">
2530				<div class="comment-item" data-ele-name="templateWrapperEvaluationProv" style="display: none">
2531					<div class="comment-head">
2532						<div class="profile-id">
2533							<th:block th:text="#{evaluation.msg.clinic.administrator}">병원 관리자</th:block>
2534							<span class="date" data-column-name="provDate">loading...</span>
2535						</div>
2536					</div>
2537					<div class="comment-body-admin">
2538						<p data-column-name="provContent">
2539						loading...
2540						</p>
2541					</div>
2542				</div>
2543			</li>
2544		</ul> -->
2545
2546
2547		<ul data-ele-name="templateWrapperTwoEvaluation" style="display: none;">
2548			<li class="swiper-slide" data-ele-name="templateWrapperTwoEvaluationUser" style="max-height: 158px;">
2549				<a href="javascript:void(0)" class="item" data-column-name="templateCommentItem">
2550					<div class="grid-div">
2551						<div class="left">
2552							<div class="profile">
2553								<div 
2554									data-column-name="profileImg"
2555									class="img"
2556									style="background-image: url(https://files.beautysocial.io/data.dev/profile/e44150e70e864eaca0b469db02b18003.png);">
2557								</div>
2558								<div class="name" data-column-name="name">Forest</div>
2559								<div class="date" data-column-name="date">2024.11.19</div>
2560							</div>
2561						</div>
2562						<div class="right">
2563							<div class="score" data-column-name="point">5.0</div>
2564						</div>
2565					</div>
2566					<!-- <div class="swiper slideReviewAttach">
2567						<ul class="swiper-wrapper">
2568						<li class="swiper-slide">
2569							<div class="picture"
2570							style="background-image: url(https://files.beautysocial.io/data.dev/board/a72c9399fe884a36a5392c85661d290e.jpeg);">
2571							</div>
2572						</li>
2573						<li class="swiper-slide">
2574							<div class="picture"
2575							style="background-image: url(https://files.beautysocial.io/data.dev/board/99a4ba9105fa432aacb8b5f62886b74e.jpeg);">
2576							</div>
2577						</li>
2578						</ul>
2579						<div class="swiper-pagination"></div>
2580					</div> -->
2581					<p class="desc" data-column-name="content">
2582						얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
2583					</p>
2584				</a>
2585			</li>
2586			<!-- <li data-ele-name="templateWrapperTwoEvaluationUser">
2587				<div class="item" data-column-name="templateCommentItem">
2588					<div class="comment-head grid-div">
2589						<div class="left">
2590							<div class="profile">
2591								<div 
2592									class="img"
2593									data-column-name="profileImg" 
2594									style="background-image: url(https://files.beautysocial.io/data.dev/profile/e44150e70e864eaca0b469db02b18003.png);">
2595								</div>
2596								<div class="name" data-column-name="name"></div>
2597								<div class="score" data-column-name="point">5.0</div>
2598								<div class="date" data-column-name="date"></div>
2599							</div>
2600						</div>
2601					</div>
2602					<div class="comment-body">
2603						<p class="desc" data-column-name="content">
2604						얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체
2605						제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
2606						</p>
2607					</div>
2608				</div>
2609			</li> -->
2610			<li class="admin" data-ele-name="templateWrapperTwoEvaluationProv"> <!--병원 관리자-->
2611				<div class="item">
2612					<div class="comment-head">
2613						<span class="profile-id">Clinic administrator <span class="date" data-column-name="date">loading...</span></span>
2614					</div>
2615					<div class="comment-body">
2616						<p data-column-name="content">
2617							loading...
2618						</p>
2619					</div>
2620				</div>
2621			</li>
2622		</ul>
2623
2624		<!-- <ul class="lst-comments" data-ele-name="templateWrapperTwoEvaluation" style="display: none">
2625			<li data-ele-name="templateWrapperTwoEvaluationUser">
2626				<div class="comment-item">
2627					<div class="comment-head">
2628						<div class="left">
2629							<div class="profile">
2630								<i class="img" data-column-name="profileImg" style="background-image:url('/img/profile.png');"></i>
2631							</div>
2632								<span class="profile-id"><bs data-column-name="name">loading...</bs></span>
2633							<div class="individual-star">
2634                                <div class="star_wrap">
2635                                     <i data-column-name="star1" class="icon-star"></i>
2636                                     <i data-column-name="star2" class="icon-star"></i>
2637                                     <i data-column-name="star3" class="icon-star"></i>
2638                                     <i data-column-name="star4" class="icon-star"></i>
2639                                     <i data-column-name="star5" class="icon-star"></i>
2640                                 </div>
2641                             </div>
2642                             <span class="score-val">
2643                                <span data-column-name="point">loading...</span>
2644                             </span>
2645                        </div>
2646                        <div class="right">
2647                        	<span class="date" data-column-name="date">2019.11.21</span>
2648                        </div>
2649                    </div>
2650					<div class="comment-body">
2651						<div class="comment-body-inner" data-column-name="comment-body-inner">
2652							<p data-column-name="content" class="textover">
2653								loading...
2654							</p>
2655							<a th:href="|javascript:void(0)|" class="textover-more" data-column-name="textover-more">...<th:block th:text="#{common.msg.more}">더보기</th:block></a>
2656						</div>
2657					</div>
2658				</div>
2659			</li>
2660			<li class="admin" data-ele-name="templateWrapperTwoEvaluationProv">
2661				<div class="comment-item">
2662					<div class="comment-head">
2663						<span class="profile-id"><th:block th:text="#{evaluation.msg.clinic.administrator}">병원 관리자</th:block> <span class="date" data-column-name="date">loading...</span></span>
2664					</div>
2665					<div class="comment-body-admin">
2666						<p data-column-name="content">
2667							loading...
2668						</p>
2669					</div>
2670				</div>
2671			</li>
2672		</ul> -->
2673
2674		<ul data-ele-name="templateWrapperTwoEvaluationEvent" style="display: none">
2675			<li class="swiper-slide" data-ele-name="templateWrapperTwoEvaluationUserEvent" style="max-height: 158px;">
2676				<a href="javascript:void(0)" class="item" data-column-name="templateCommentItem">
2677					<div class="grid-div">
2678						<div class="left">
2679							<div class="profile">
2680								<div 
2681									data-column-name="profileImg"
2682									class="img"
2683									style="background-image: url(https://files.beautysocial.io/data.dev/profile/e44150e70e864eaca0b469db02b18003.png);">
2684								</div>
2685								<div class="name" data-column-name="name">Forest</div>
2686								<div class="date" data-column-name="date">2024.11.19</div>
2687							</div>
2688						</div>
2689						<div class="right">
2690							<div class="score" data-column-name="point">5.0</div>
2691						</div>
2692					</div>
2693					<p class="desc" data-column-name="content">
2694						얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
2695					</p>
2696				</a>
2697			</li>
2698			<li class="swiper-slide" data-ele-name="templateWrapperTwoEvaluationProvEvent" style="max-height: 158px;"> <!--병원 관리자-->
2699				<a href="javascript:void(0)" class="item">
2700					<div class="grid-div">
2701						<div class="left">
2702							<div class="profile">
2703								<div
2704									data-column-name="profileImg"
2705									class="img"
2706									style="display: none; background-image: url(https://files.beautysocial.io/data.dev/profile/e44150e70e864eaca0b469db02b18003.png);">
2707								</div>
2708								<div class="name" data-column-name="name">병원 관리자</div>
2709								<div class="date" data-column-name="date">2024.11.19</div>
2710							</div>
2711						</div>
2712						<div class="right">
2713							<div class="score" data-column-name="point" style="display: none;">5.0</div>
2714						</div>
2715					</div>
2716					<p class="desc" data-column-name="content">
2717						얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
2718					</p>
2719				</a>
2720
2721				<!-- <div class="item">
2722					<div class="comment-head">
2723						<span class="profile-id"><th:block th:text="#{evaluation.msg.clinic.administrator}">병원 관리자</th:block> <span class="date" data-column-name="date">loading...</span></span>
2724					</div>
2725					<div class="comment-body">
2726						<p data-column-name="content">
2727							loading...
2728						</p>
2729					</div>
2730				</div> -->
2731			</li>
2732		</ul>
2733		
2734		<!-- <ul class="lst-comments" data-ele-name="templateWrapperTwoEvaluationEvent" style="display: none">
2735			<li data-ele-name="templateWrapperTwoEvaluationUserEvent">
2736				<div class="comment-item">
2737					<div class="comment-head">
2738						<div class="left">
2739							<div class="profile">
2740								<i class="img" data-column-name="profileImg" style="background-image:url('/img/profile.png');"></i>
2741							</div>
2742								<span class="profile-id"><bs data-column-name="name">loading...</bs></span>
2743							<div class="individual-star">
2744                                <div class="star_wrap">
2745                                     <i data-column-name="star1" class="icon-star"></i>
2746                                     <i data-column-name="star2" class="icon-star"></i>
2747                                     <i data-column-name="star3" class="icon-star"></i>
2748                                     <i data-column-name="star4" class="icon-star"></i>
2749                                     <i data-column-name="star5" class="icon-star"></i>
2750                                 </div>
2751                             </div>
2752                             <span class="score-val">
2753                                <span data-column-name="point">loading...</span>
2754                             </span>
2755						</div>		
2756                        <div class="right">
2757                        	<span class="date" data-column-name="date">2019.11.21</span>
2758                        </div>
2759                    </div>
2760					<div class="comment-body">
2761						<div class="comment-body-inner" data-column-name="comment-body-inner">
2762							<p data-column-name="content" class="textover">
2763								loading...
2764							</p>
2765							<a th:href="|javascript:void(0)|" class="textover-more" data-column-name="textover-more">...<th:block th:text="#{common.msg.more}">더보기</th:block></a>
2766						</div>
2767					</div>
2768				</div>
2769			</li>
2770			<li class="admin" data-ele-name="templateWrapperTwoEvaluationProvEvent">
2771				<div class="comment-item">
2772					<div class="comment-head">
2773						<span class="profile-id"><th:block th:text="#{evaluation.msg.clinic.administrator}">병원 관리자</th:block> <span class="date" data-column-name="date">loading...</span></span>
2774					</div>
2775					<div class="comment-body-admin">
2776						<p data-column-name="content">
2777							loading...
2778						</p>
2779					</div>
2780				</div>
2781			</li>
2782		</ul> -->
2783		
2784		<ul data-ele-name="templateWrapperReview" style="display: none">
2785			<li>
2786				<a href="javascript:void(0)" data-data_type="link" data-data_key="nickName" data-column-name="userWrapperLink" class="item">
2787					<div class="grid-div">
2788						<div class="left">
2789							<div class="profile">
2790								<div class="img"
2791									style="background-image: url(https://files.beautysocial.io/data.dev/profile/e44150e70e864eaca0b469db02b18003.png);"
2792									data-column-name="profileImage"
2793								>
2794								</div>
2795								<div class="name" data-data_type="text" data-data_key="nickName">Forest</div>
2796								<div class="date" data-data_type="datetime" data-data_key="regDate">2024.11.19</div>
2797							</div>
2798						</div>
2799						<div class="right" data-column-name="wrapperSatisfaction">
2800							<div class="score" data-data_type="text" data-data_key="txLevel">5.0</div>
2801						</div>
2802					</div>
2803					<div class="swiper slideBoardAttach list-attchfile">
2804						<ul class="swiper-wrapper" data-ele-name="imgList">
2805						</ul>
2806						<div class="swiper-pagination"></div>
2807					</div>
2808					<ul class="swiper-wrapper" data-column-name="templateImg" style="display: none">
2809						<li class="swiper-slide" data-ele-name="selectLink">
2810							<div data-column-name="image"
2811								class="picture"
2812								style="background-image: url(https://files.beautysocial.io/data.dev/board/a72c9399fe884a36a5392c85661d290e.jpeg);">
2813								<span class="status-label" data-column-name="imgBadge">후</span>
2814								<span class="plus" data-column-name="plus" style="display: none"></span>
2815							</div>
2816						</li>
2817					</ul>
2818
2819					<div class="desc-group">
2820						<p class="desc good" data-data_type="text" data-data_key="goodPoint" data-column-name="goodPoint">
2821							얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
2822						</p>
2823						<p class="desc sad" data-data_type="text" data-data_key="weakPoint" data-column-name="weakPoint">
2824							얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
2825						</p>
2826					</div>
2827					<div class="use-service" data-ele-name="txNmTemplateWrapper" style="display: none">
2828						<span></span>
2829					</div>
2830					<div class="use-service" data-ele-name="txInfos" style="display: none;">
2831						<span class="cte" data-ele-name="txPart">치아</span>
2832					</div>
2833					
2834					<div class="command" style="margin-top: 0px;">
2835						<ul>
2836							<li>
2837								<span href="javascript:void(0)" class="ico like min" data-column-name="likeCnt"><span class="value" data-data_type="text" data-data_key="likeCnt" >0</span></span>
2838							</li>
2839							<li data-column-name="commentWrapperLink">
2840								<span href="javascript:void(0)" class="ico cmt min" data-column-name="commentCnt"><span class="value" data-data_type="text" data-data_key="commentCnt" >0</span></span>
2841							</li>
2842							<li>
2843								<span href="javascript:void(0)" class="ico view min" data-column-name="viewCnt"><span class="value" data-data_type="text" data-data_key="viewCnt" >0</span></span>
2844							</li>
2845						</ul>
2846					</div>
2847					<button type="button" class="btn btn-sm btn-outline-primary btn-translate" data-ele-name="btnTranslate">See translation</button>				
2848				</a>
2849			
2850			</li>
2851			<!-- <li class="touch-item review">
2852				<a th:href="|javascript:void(0)|" data-data_type="link" data-data_key="nickName" data-column-name="userWrapperLink">
2853					<div class="media media-horize">
2854						<div class="profile">
2855							<i class="img" data-column-name="profileImage" th:style="|background-image: url(@{/img/profile.png});|"></i>
2856						</div>
2857						<h4 class="tit"><bs data-data_type="text" data-data_key="nickName">loading...</bs
2858							><br><span class="date" data-data_type="datetime" data-data_key="regDate">loading...</span></h4>
2859						<div class="meta review-meta" data-column-name="wrapperSatisfaction">
2860							<dt><i class="icon-star active" th:text="#{common.msg.customer.satisfaction}">만족도</i></dt>
2861							<dd class="text-dark" data-data_type="text" data-data_key="txLevel">loading...</dd>
2862							<dd>/ 5</dd>
2863						</div>
2864					</div>
2865					
2866					<ul data-ele-name="txNmTemplateWrapper" style="display: none">
2867						<li></li>
2868					</ul>
2869					<dl class="proscons">
2870						<dt></dt>
2871						<dd class="text-truncate" data-data_type="text" data-data_key="goodPoint" data-column-name="goodPoint">loading...</dd>
2872						<dt></dt>
2873						<dd class="text-truncate" data-data_type="text" data-data_key="weakPoint" data-column-name="weakPoint">loading...</dd>
2874					</dl>
2875					<ul class="lst-site" data-ele-name="txInfos" style="display: none">
2876						<li class="tit" data-ele-name="txPart">loading...</li>
2877					</ul>
2878					
2879					<div class="side-ctl-btn" data-ele-name="itemFooterWrapper">
2880						<dl>
2881							<dt><img src="/img/ico-likes.png" th:alt="#{common.msg.like}"></dt>
2882							<dd data-data_type="text" data-data_key="likeCnt" data-column-name="likeCnt">0</dd>
2883						</dl>
2884						<dl data-data_type="link" data-column-name="commentWrapperLink">
2885							<dt><img src="/img/ico-comments.png" th:alt="#{common.msg.comment}"></dt>
2886							<dd data-data_type="text" data-data_key="commentCnt" data-column-name="commentCnt">0</dd>
2887						</dl>
2888						<dl class="lookup">
2889                            <dt><img src="/img/ico-view.png" alt="조회수"></dt>
2890                            <dd data-data_type="text" data-data_key="viewCnt" data-column-name="viewCnt">0</dd>
2891                        </dl>
2892					</div>
2893				</a>
2894				<button type="button" class="btn btn-sm btn-outline-primary btn-translate" data-ele-name="btnTranslate" th:text="#{common.msg.see.translation}">번역보기</button>
2895				<ul class="lst-tmb overflow-auto type-board imgPosition" data-ele-name="imgList" style="display: none">
2896				</ul>
2897				<ul class="lst-tmb overflow-auto type-board imgPosition" data-column-name="templateImg" style="display: none">
2898					<li>
2899						<figure class="badge" data-column-name="imgBadge">전/후</figure>
2900						<a th:href="|javascript:void(0)|" data-ele-name="selectLink"
2901							><img class="img-fluid" th:src="@{/img/profile.png}" alt="" data-column-name="image"
2902							><span class="plus" data-column-name="plus" style="display: none"></span>
2903						</a>
2904					</li>
2905				</ul>
2906			</li> -->
2907		</ul>
2908		
2909		<!-- 그루밍TV 시작-->
2910		<ul data-ele-name="templateWrapperVideo" style="display: none">
2911			<li>
2912				<a href="javascript:void(0)" data-column-name="wrapperLink" class="item">
2913					<div class="thumbnail full">
2914						<img 
2915							data-column-name="videoImage"
2916							src="https://files.beautysocial.io/data.dev/banner_mobile/823529ed4aed492ab36cc52cfa0a8d44.png"
2917							alt="">
2918						<img
2919							data-column-name="videoImage2"
2920							class="shadow"
2921							src="https://files.beautysocial.io/data.dev/banner_mobile/823529ed4aed492ab36cc52cfa0a8d44.png"
2922							alt="">
2923					</div>
2924					<div class="info">
2925						<div class="tit" data-column-name="videoTitle">성형 후 모델제의 받은 썰</div>
2926						<div class="desc" data-column-name="videoTitle">조회수 <span data-column-name="videoViewCount">loading...</span>회 · <span data-column-name="videoRegDate">2일 전</span></div>
2927					</div>
2928				</a>
2929			</li>
2930		</ul>
2931		
2932		<!-- <ul class="lst-default lst-maintreatment banner-view" data-ele-name="templateWrapperVideo" style="display: none">
2933			<li>
2934                <a class="media" th:href="|javascript:void(0)|" data-column-name="wrapperLink">
2935                    <img src="/img/treatment_thumb01_ko.png" alt="" class="img-fluid" data-column-name="videoImage" />
2936                </a>
2937                <div class="media-body video-info">
2938                    <h4 class="tit" data-column-name="videoTitle">loading...</h4>
2939                    <div class="sub-tit">조회수 <bs data-column-name="videoViewCount">loading...</bs>회 · <bs data-column-name="videoRegDate">2일 전</bs></div>
2940                </div>
2941            </li>
2942		</ul> -->
2943		<!-- 그루밍TV 끝 -->
2944		
2945		<!-- 직원리뷰 -->
2946		<ul class="lst-default lst-review" data-ele-name="templateWrapperEpReview" style="display: none">
2947			<li class="touch-item not-file">
2948	            <a href="javascript:void(0)" data-column-name="wrapperEpReviewLink">
2949	                <div class="media media-horize">
2950	                    <div class="profile">
2951	                        <i class="img" data-column-name="profileImage" style="background-image: url(/img/anonymous-writer.png);" ></i>
2952	                    </div>
2953	                    <h4 class="tit"><bs data-column-name="epNickName">loading...</bs><br>
2954	                    <span class="date" data-data_type="datetime" data-data_key="regDate" style="display: none">loading...</span>
2955	                    </h4>
2956	                    <div class="meta review-meta" style="display: none">
2957                            <dt><i class="icon-star active">만족도</i></dt>
2958                            <dd class="text-dark" data-column-name="pDoctorLevel">loading...</dd>
2959                            <dd>/ 5</dd>
2960                        </div>
2961	                </div>
2962	                <p class="board-desc employee"><span class="hot" style="display: none" data-column-name="hotIcon">BEST</span> <bs data-column-name="epTitle">loading...</bs></p>
2963	                <dl class="proscons">
2964	                    <dt class="like"></dt>
2965	                    <dd class="text-truncate" data-data_type="text" data-data_key="goodPoint" data-column-name="goodPoint">loading...</dd>
2966	                    <dt class="bad"></dt>
2967	                    <dd class="text-truncate" data-data_type="text" data-data_key="weakPoint" data-column-name="weakPoint">loading...</dd>
2968	                    <!-- <dt></dt>
2969	                    <dd class="text-truncate" data-data_type="text" data-data_key="wishingPoint" data-column-name="wishingPoint">loading...</dd> -->
2970	                </dl>
2971	
2972	
2973	                <div class="side-ctl-btn">
2974	                    <dl>
2975	                        <dt><img src="/img/ico-likes.png" alt="#{common.msg.like}"></dt>
2976	                        <dd data-data_type="text" data-data_key="likeCnt" data-column-name="likeCnt">0</dd>
2977	                    </dl>
2978	                    <dl>
2979	                        <dt><img src="/img/ico-comments.png" alt="#{common.msg.comment}"></dt>
2980							<dd data-data_type="text" data-data_key="commentCnt" data-column-name="commentCnt">0</dd>
2981	                    </dl>
2982	                    <dl class="lookup">
2983                            <dt><img src="/img/ico-view.png" alt="조회수"></dt>
2984                            <dd data-data_type="text" data-data_key="viewCnt" data-column-name="viewCnt">0</dd>
2985                        </dl>
2986	                </div>
2987	            </a>
2988	        </li>
2989		</ul>
2990		<!-- 직원리뷰 -->
2991		
2992		<!-- 빡침주의 리스트 -->
2993		<ul class="lst-default lst-review" data-ele-name="templateWrapperComplainReview" style="display: none">
2994            <li class="touch-item not-file">
2995                <a href="javascript:void(0)" data-column-name="wrapperComplainReviewLink">
2996                    <div class="media media-horize">
2997                        <div class="profile">
2998	                        <i class="img" data-column-name="profileImage" style="background-image: url(/img/anonymous-writer.png);" ></i>
2999	                    </div>
3000                        <h4 class="tit"><bs data-column-name="complainNickName">loading...</bs><br>
3001	                    <span class="date" data-data_type="datetime" data-data_key="regDate">loading...</span>
3002                    </div>
3003                    <!-- <p class="board-desc employee" data-column-name="complainTitle"></p> -->
3004                    <p class="board-desc employee"><span class="hot" style="display: none" data-column-name="hotIcon">BEST</span> <bs data-column-name="complainTitle">loading...</bs></p>
3005                    <dl class="proscons">
3006                        <dt class="angry"></dt>
3007                        <dd class="text-truncate" data-data_key="complainPoint" data-column-name="complainPoint">loading...</dd>
3008                        <dt class="normal"></dt>
3009                        <dd class="text-truncate" data-data_key="goodPoint" data-column-name="goodPoint">loading...</dd>
3010                    </dl>
3011                    <div class="side-ctl-btn">
3012	                    <dl>
3013	                        <dt><img src="/img/ico-likes.png" alt="#{common.msg.like}"></dt>
3014	                        <dd data-data_type="text" data-data_key="likeCnt" data-column-name="likeCnt">0</dd>
3015	                    </dl>
3016	                    <dl>
3017	                        <dt><img src="/img/ico-comments.png" alt="#{common.msg.comment}"></dt>
3018							<dd data-data_type="text" data-data_key="commentCnt" data-column-name="
3018commentCnt">0</dd>
3019	                    </dl>
3020	                    <dl class="lookup">
3021                            <dt><img src="/img/ico-view.png" alt="조회수"></dt>
3022                            <dd data-data_type="text" data-data_key="viewCnt" data-column-name="viewCnt">0</dd>
3023                        </dl>
3024	                </div>
3025                </a>
3026            </li>
3027        </ul>
3028		<!-- 빡침주의 리스트  끝-->
3029		
3030		<!-- /게시판 -->
3031		<ul data-ele-name="templateWrapperBoard" style="display: none">
3032			<li data-column-name="touchItem">
3033			  	<a href="javascript:void(0)" class="item" data-column-name="wrapperLink">
3034					<div class="grid-div">
3035						<div class="left">
3036							<div class="profile">
3037							<div class="img" data-column-name="profileImage"
3038								style="background-image: url(https://files.beautysocial.io/data.dev/profile/e44150e70e864eaca0b469db02b18003.png);">
3039							</div>
3040							<div class="name" data-data_type="text" data-data_key="nickName">Forest</div>
3041							<div class="date" data-data_type="datetime" data-data_key="regDate">2024.11.19</div>
3042							</div>
3043						</div>
3044						<!-- <div class="right">
3045							<div class="score">5.0</div>
3046						</div> -->
3047					</div>
3048					<div class="swiper slideBoardAttach list-attchfile" data-column-name="templateImgDiv">
3049						<ul class="swiper-wrapper" data-column-name="templateImg">
3050						</ul>
3051						<ul data-ele-name="templateWrapperBoardImg" style="display: none">
3052							<li class="swiper-slide" data-ele-name="selectLink">
3053								<div class="picture" data-column-name="image"
3054									style="background-image: url(https://files.beautysocial.io/data.dev/board/a72c9399fe884a36a5392c85661d290e.jpeg);">
3055									<!-- <span class="status-label">후</span> -->
3056								</div>
3057							</li>
3058						</ul>				  
3059					<div class="swiper-pagination"></div>
3060					</div>
3061					<p class="desc best" data-column-name="boardContents">
3062					얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
3063					</p>
3064					<div class="command" style="margin-top: 0px;">
3065						<ul>
3066							<li>
3067								<span href="javascript:void(0)" class="ico like min" data-data_type="text" data-data_key="likeCnt" data-column-name="likeCnt"><span class="value">0</span></span>
3068							</li>
3069							<li>
3070								<span href="javascript:void(0)" class="ico cmt min" data-data_type="text" data-data_key="commentCnt" data-column-name="commentCnt"><span class="value">0</span></span>
3071							</li>
3072							<li>
3073								<span href="javascript:void(0)" class="ico view min" data-data_type="text" data-data_key="viewCnt" data-column-name="viewCnt"><span class="value">0</span></span>
3074							</li>
3075						</dl>
3076					</div>			
3077				</a>
3078			</li>
3079		</ul>
3080
3081		<!-- <ul class="lst-default lst-review" data-ele-name="templateWrapperBoard" style="display: none">
3082			<li class="touch-item" data-column-name="touchItem" >
3083	            <a th:href="|javascript:void(0)|" data-column-name="wrapperLink">
3084	                <div class="media media-horize">
3085	                    <div class="profile">
3086	                        <i class="img" data-column-name="profileImage" th:style="|background-image: url(@{/img/profile.png});|" ></i>
3087	                    </div>
3088	                    <h4 class="tit">
3089							<span data-data_type="text" data-data_key="nickName">loading...</span>
3090							<br>
3091							<span class="date" data-data_type="datetime" data-data_key="regDate">loading...</span>
3092						</h4>
3093	                </div>
3094	                <p class="board-desc" data-column-name="boardContentsP">
3095	                	<span class="hot" style="display: none" data-column-name="boardHotIcon">BEST</span>
3096						<bs data-column-name="boardContents">
3097							loading...
3098						</bs>
3099					</p>
3100	                <div class="side-ctl-btn">
3101	                    <dl>
3102	                        <dt><img src="/img/ico-likes.png" alt="#{common.msg.like}"></dt>
3103	                        <dd data-data_type="text" data-data_key="likeCnt" data-column-name="likeCnt">0</dd>
3104	                    </dl>
3105	                    <dl>
3106							<dt><img src="/img/ico-comments.png" alt="#{common.msg.comment}"></dt>
3107							<dd data-data_type="text" data-data_key="commentCnt" data-column-name="
3107commentCnt">0</dd>
3108						</dl>
3109						<dl class="lookup">
3110                            <dt><img src="/img/ico-view.png" alt="조회수"></dt>
3111                            <dd data-data_type="text" data-data_key="viewCnt" data-column-name="viewCnt">0</dd>
3112                        </dl>
3113	                </div>
3114	            </a>
3115	            <ul class="lst-tmb overflow-auto type-board" data-column-name="templateImg"  >
3116				</ul>
3117				<ul data-ele-name="templateWrapperBoardImg" style="display: none">
3118					<li>
3119						<a th:href="|javascript:void(0)|" data-ele-name="selectLink"><img class="img-fluid" th:src="@{/img/profile.png}" alt="" data-column-name="image"></a>
3120					</li>
3121				</ul>
3122	
3123	           
3124	        </li>
3125		</ul> -->
3126		<!-- 게시판/ -->
3127		<!-- / 게시판 댓글 -->
3128		<ul data-ele-name="templateWrapperBoardComment" style="display: none;">
3129			<li data-column-name="templatcomment">
3130				<div class="item" data-column-name="templateCommentItem">
3131					<div class="comment-head grid-div">
3132						<div class="left">
3133							<div class="profile">
3134								<div class="img" data-column-name="profileImage" 
3135								style="background-image: url(https://files.beautysocial.io/data.dev/profile/e44150e70e864eaca0b469db02b18003.png);">
3136								</div>
3137								<div class="name" data-data_key="nickName">Forest</div>
3138								<a href="javascript:void(0)" class="board-siren-img" style="width: 20px; opacity: 0.6; position: relative; bottom: 2px;" data-ele-name="btnBoardViewSiren"><img src="/img/icon-hd-siren.png" alt=""></a>
3139								<div class="date" data-data_type="datetime" data-data_key="regDate">2024.11.19</div>
3140							</div>
3141						</div>
3142						<div class="right">
3143							<a class="ico more"  style="cursor: pointer;" data-ele-name="btnMore">더 보기</a>
3144						</div>
3145					</div>
3146					<div class="comment-body">
3147						<p class="desc" data-column-name="commentContents">
3148						얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체
3149						제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
3150						</p>
3151						<div class="command" data-column-name="commentCrud" style="cursor: pointer;">
3152							<a href="javascript:void(0)" class="ico cmt">
3153								<span class="value">답글쓰기</span>
3154							</a>
3155						</div>
3156					</div>
3157				</div>
3158			</li>
3159		</ul>
3160
3161        <!-- <ul class="lst-comments" data-ele-name="templateWrapperBoardComment" >
3162             <li data-column-name="templatcomment">
3163                <div class="comment-item" data-column-name="templateCommentItem">
3164                    <div class="comment-head">
3165                        <div class="left">
3166                            <div class="profile">
3167                                <i class="img" data-column-name="profileImage" th:style="|background-image: url(@{/img/profile.png});|"></i>
3168                            </div>
3169                            <span class="profile-id">
3170								<bs data-data_type="text" data-data_key="nickName">jack99880</bs>
3171								<a th:href="|javascript:void(0)|" class="board-siren-img"><img src="/img/icon-hd-siren.png" alt=""></a>
3172								<span class="date" data-data_type="datetime" data-data_key="regDate" >2019.11.21</span>
3173							</span>
3174                        </div>
3175
3176                        <div class="right">
3177                            <a th:href="|javascript:void(0)|" data-ele-name="deleteCommentModal" class="ico-more" style="display: none"><img src="/img/ico-more.png" alt="삭제"></a>
3178                            <a th:href="|javascript:void(0)|" data-ele-name="reportModal" class="text-link text-muted">신고하기</a>
3179                        </div>
3180                    </div>
3181                    <div class="comment-body" >
3182	                    <p data-column-name="commentContents">
3183	                      loading...
3184	                    </p>
3185                        <a th:href="|javascript:void(0)|" class="comment-crud" data-column-name="commentCrud" style="display: none">댓글쓰기</a>
3186                    </div>
3187                </div>
3188               
3189            </li>
3190        </ul> -->
3191		<!-- 게시판 댓글  / -->
3192		
3193		<!-- / 직원리뷰 댓글 -->
3194        <ul class="lst-comments" data-ele-name="templateWrapperEpReviewComment" >
3195             <li data-column-name="templatcomment">
3196                <div class="comment-item" data-column-name="templateCommentItem">
3197                <!-- <div class="comment-item reply"> 대댓글-->
3198                    <div class="comment-head">
3199                        <div class="left">
3200                            <div class="profile">
3201                                <i class="img" data-column-name="profileImage" style="background-image: url(/img/profile.png);"></i>
3202                            </div>
3203                            <span class="profile-id"><bs data-data_type="text" data-data_key="nickName">jack99880</bs><span class="date" data-data_type="datetime" data-data_key="regDate" >2019.11.21</span></span>
3204                        </div>
3205                        <div class="right">
3206                            <a href="javascript:void(0)" data-ele-name="reportModal" class="text-link text-muted">신고하기</a>
3207                            <a href="javascript:void(0)" data-ele-name="deleteCommentModal" class="ico-more" style="display: none"><img src="/img/ico-more.png" alt="삭제"></a>
3208                        </div>
3209                    </div>
3210                    <div class="comment-body" >
3211	                    <p data-column-name="commentContents">
3212	                      loading...
3213	                    </p>
3214                        <a href="javascript:void(0)" class="comment-crud" data-column-name="commentCrud" style="display: none">댓글쓰기</a>
3215                    </div>
3216                </div>
3217            </li>
3218        </ul>
3219		<!-- 게시판 댓글  / -->
3220		
3221		
3222		<!-- /  마이페이지 게시판 리스트 -->
3223		<ul data-ele-name="templateWrapperMyBoard" style="display: none">
3224			<li data-column-name="touchItem">
3225				<a href="javascript:void(0)" class="item" data-column-name="wrapperLink">
3226					<div class="grid-div">
3227						<div class="left">
3228							<div class="profile">
3229								<div class="img" data-column-name="profileImage"
3230									style="display: none; background-image: url(https://files.beautysocial.io/data.dev/profile/e44150e70e864eaca0b469db02b18003.png);"
3231									>
3232								</div>
3233								<div style="display: none;" class="name" data-data_type="text" data-data_key="nickName">Forest</div>
3234								<div class="date" data-data_type="datetime" data-data_key="regDate">2024.11.19</div>
3235							</div>
3236						</div>
3237						<div class="right">
3238							<span href="javascript:void(0)" class="red" data-column-name="deleteBt" style="display: none;">삭제</span>
3239						</div>
3240					</div>
3241
3242					<div class="swiper slideBoardAttach list-attchfile" data-column-name="templateImgDiv">
3243						<ul class="swiper-wrapper" data-column-name="templateImg">
3244						</ul>
3245						<ul data-ele-name="templateWrapperBoardImg" style="display: none">
3246							<li class="swiper-slide" data-ele-name="selectLink">
3247								<div class="picture" data-column-name="image"
3248									style="background-image: url();">
3249								</div>
3250							</li>
3251						</ul>				  
3252					<div class="swiper-pagination"></div>
3253					</div>
3254
3255					<p class="desc" data-column-name="boardContents">
3256					얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
3257					</p>
3258
3259					<div class="command" style="margin-top: 0px;">
3260						<ul>
3261							<li>
3262								<span href="javascript:void(0)" class="ico like min" data-data_type="text" data-data_key="likeCnt" data-column-name="likeCnt"><span class="value">0</span></span>
3263							</li>
3264							<li>
3265								<span href="javascript:void(0)" class="ico cmt min" data-data_type="text" data-data_key="commentCnt" data-column-name="commentCnt"><span class="value">0</span></span>
3266							</li>
3267							<li>
3268								<span href="javascript:void(0)" class="ico view min" data-data_type="text" data-data_key="viewCnt" data-column-name="viewCnt" style="display: none;"><span class="value">0</span></span>
3269							</li>
3270						</dl>
3271					</div>
3272				</a>
3273				<span href="javascript:void(0)" data-column-name="wrapperLinkSecond" class="comment-crud" style="display: none;">원문보기</span>
3274		  	</li>
3275	    </ul>
3276
3277		<!-- <ul class="lst-default lst-review" data-ele-name="templateWrapperMyBoard" style="display: none">
3278			<li>
3279	            <div class="hd-meta d-flex justify-content-between align-items-center">
3280	                <dl class="meta">
3281	                    <dt class="date" data-data_type="datetime" data-data_key="regDate" >loading...</dt>
3282	                </dl>
3283	                <div class="side">
3284	                    <a th:href="|javascript:void(0)|" class="btn btn-sm btn-outline-muted rounded" data-column-name="deleteBt">삭제</a>
3285	                </div>
3286	            </div>
3287	            <a th:href="|javascript:void(0)|" data-column-name="wrapperLink">
3288	                <p class="board-desc" data-column-name="boardContents">
3289	                      loading...
3290	                </p>
3291	            </a>
3292	             <ul class="lst-tmb overflow-auto type-board" data-column-name="templateImg">
3293                </ul>
3294                
3295                <ul data-ele-name="templateWrapperBoardImg" style="display: none">
3296                	<li>
3297                        <a th:href="|javascript:void(0)|" data-ele-name="selectLink"><img class="img-fluid" th:src="@{/img/profile.png}" alt="" data-column-name="image"></a>
3298                    </li>
3299                </ul>
3300	            <div class="side-ctl-btn" data-ele-name="itemFooterWrapper" >
3301                    <dl>
3302                        <dt><img src="/img/ico-likes.png" alt="#{common.msg.like}"></dt>
3303                        <dd data-data_type="text" data-data_key="likeCnt" data-column-name="likeCnt">0</dd>
3304                    </dl>
3305                    <dl>
3306                        <dt><img src="/img/ico-comments.png" alt="#{common.msg.comment}"></dt>
3307                        <dd data-data_type="text" data-data_key="commentCnt" data-column-name="
3307commentCnt">0</dd>
3308                    </dl>
3309                </div>
3310                <a th:href="|javascript:void(0)|" data-column-name="wrapperLinkSecond" class="comment-crud">원문보기</a>
3311	        </li>
3312	    </ul> -->
3313
3314		<!--  마이페이지 게시판 리스트 / -->
3315		
3316		<!-- /  마이페이지 댓글 리스트 -->
3317		<ul data-ele-name="templateWrapperMyComment" style="display: none;">
3318			<li data-column-name="templatcomment">
3319				<a href="javascript:void(0)" class="item" data-column-name="wrapperLink">
3320					<div class="item" data-column-name="templateCommentItem">
3321						<div class="comment-head grid-div">
3322							<div class="left">
3323								<div class="profile">
3324									<div class="date" data-data_type="datetime" data-data_key="regDate">2024.11.19</div>
3325								</div>
3326							</div>
3327							<div class="right">
3328								<span href="javascript:void(0)" class="" style="display: none;" data-column-name="deleteBt">삭제</span>
3329							</div>
3330						</div>
3331						<div class="comment-body">
3332							<p class="desc" data-column-name="boardContents">
3333							얼굴 전체 제모, 크라이오 진정관리, 파스틀 톤 피부광채 광채피부얼굴 전체 제모, 크라이오 진정관부광채 광채피부얼굴 전체
3334							제모, 크라이오 진정관리, 파스틀 톤 피부피부피부피부
3335							</p>
3336						</div>
3337					</div>
3338				</a>
3339				<span href="javascript:void(0)" data-column-name="wrapperLinkSecond" class="comment-crud" style="display: none;">원문보기</span>
3340			</li>
3341		</ul>
3342
3343		<!-- <ul class="lst-default lst-review" data-ele-name="templateWrapperMyComment" style="display: none">
3344			<li>
3345	            <div class="hd-meta d-flex justify-content-between align-items-center">
3346	                <dl class="meta">
3347	                    <dt class="date" data-data_type="datetime" data-data_key="regDate" >loading...</dt>
3348	                </dl>
3349	                <div class="side">
3350	                    <a th:href="|javascript:void(0)|" class="btn btn-sm btn-outline-muted rounded" data-column-name="deleteBt">삭제</a>
3351	                </div>
3352	            </div>
3353	            <div class="comment-item">
3354	
3355	                <div class="comment-body">
3356	                    <p class="board-desc" data-column-name="boardContents">
3357	                      loading...
3358	                	</p>
3359	                    <a th:href="|javascript:void(0)|" data-column-name="wrapperLink" class="comment-crud">원문보기</a>
3360	                </div>
3361	            </div>
3362	        </li>
3363        </ul> -->
3364
3365		<!-- 마이페이지 댓글 리스트  /-->
3366		
3367		
3368		
3369		<ul class="lst-site" data-ele-name="templateWrapperEllipsis" style="display: none">
3370			<!-- <li data-ele-name="ellipsis"><i class="icon-dots"></i></li> -->
3371			<li data-ele-name="ellipsis" class="more"><i class="icon-dots"></i></li>
3372		<!-- 최대 5개 이후 dots icon 표시 -->
3373		</ul>
3374	</div>
3375	
3375<script>
3376	/*<![CDATA[*/
3377    var listItems = (function() {var ListItems = function() {
3378        var _this = this;
3379        _this.ns = 'listItems';
3380
3381        var _p = sel('[data-ele-name="templateWrapperListItems"]');
3382        var _ele = {
3383            p: _p,
3384            templateWrapperEllipsis: sel('[data-ele-name="templateWrapperEllipsis"]', _p)
3385        };
3386        var DELIM_ARR = ',';
3387        
3388        var SET = {
3389            //ELLIPSIS_SITE_CNT: 5
3390        	ELLIPSIS_SITE_CNT: 3 //시술 부위 노출 5->3
3391        };
3392        var _isEllipsis = function(idx) {
3393            return SET.ELLIPSIS_SITE_CNT < idx + 2;
3394        };
3395        var _getFilteredSiteList = function (txList, txParts) {
3396            return txParts.reduce(function(res, item){
3397                var temp;
3398                var _item;
3399                for (var i = 0, len = txList.length; i < len; i++) {
3400                    _item = txList[i];
3401                    if (_item.txPartCd == item.txPartCd) {
3402                        temp = item;
3403                        break;
3404                    }
3405                }
3406                if (temp) {
3407                    res.push(temp);
3408                }
3409                return res;
3410            }, []);
3411        };
3412        var _getNewVerFilteredSiteList = function (txList, txParts) {
3413        	return txParts.reduce(function(res, item){
3414        		var temp;
3415                var _item;
3416                for (var i = 0, len = txList.length; i < len; i++) {
3417                    _item = txList[i];
3418                    if (_item == item.txPartCd) {
3419                        temp = item;
3420                        break;
3421                    }
3422                }
3423                if (temp) {
3424                    res.push(temp);
3425                }
3426                return res;
3427        	}, []);
3428        };
3429        var _renderTxPartList = function(dataList, dataListEle) {
3430            var addedEllipsis = false;
3431            dataListEle.innerHTML			= '';
3432            for (var i = 0, len = dataList.length; i < len; i++) {
3433                var item = dataList[i];
3434                var _li = document.createElement('li');
3435                _li.innerHTML = item.partNm;
3436                _li.dataset.txPartCd = item.txPartCd;
3437                //_li.classList.add('active');
3438                dataListEle.appendChild(_li);
3439
3440				if (_isEllipsis(i)) {
3441					if (!addedEllipsis) {
3442					    if (i == len - 1) {
3443					        continue;
3444					    }
3445						var ellipsisEle = cloneEle(_ele.templateWrapperEllipsis, 0);
3446						ellipsisEle.onclick = function (event) {
3447							event.preventDefault();
3448							hideEles(ellipsisEle);
3449							showEles(selAll('[data-ellipsis="Y"]', dataListEle));
3450						};
3451						dataListEle.appendChild(ellipsisEle);
3452						addedEllipsis = true;
3453					} else {
3454						_li.dataset.ellipsis = "Y";
3455						_li.style.display = 'none';
3456					}
3457					// break;
3458				}
3459            }
3460        };
3461        var _getsAreaInfo = DomUtil.LazyExecuteFactory(bts.getsTagAreaInfo, bts.readyTagAreaInfos);
3462
3463        _this.renderRowEmpty = function(_data, dataListEle) {
3464            var _el = cloneEle(sel('[data-ele-name=templateWrapperEmptyItem]', _ele.p));
3465            sel('[data-column-name="title"]', _el).innerHTML			= (_data.data && _data.data.name) ? _data.data.name : bts.text.noData;
3466
3467            dataListEle.append(_el);
3468        };
3469        _this.renderTwoRowEvaluation = function(_data, dataListEle, callbackItemClick, callback) {
3470			// console.log(">>>_data = ", _data);
3471        	var evalContent = "";
3472        	var _elU = cloneEleP(sel('[data-ele-name="templateWrapperTwoEvaluationUser"]', _ele.p));
3473        	var _elP = cloneEleP(sel('[data-ele-name="templateWrapperTwoEvaluationProv"]', _ele.p));
3474
3475        	sel('[data-column-name="name"]', _elU).innerHTML = _data.nickName;
3476        	sel('[data-column-name="point"]', _elU).innerHTML = parseFloat(_data.evaluationLevel).toFixed(1);
3477        	//sel('[data-column-name="date"]', _elU).innerHTML = new Date(_data.regDate).format("yy.MM.dd");
3478        	sel('[data-column-name="date"]', _elU).innerHTML = _data.regDate;
3479        	
3480        	//더보기 시작
3481        	if(_data.content.length > 50){
3482        		$(sel('[data-column-name="textover-more"]', _elU)).show();
3483        	}else{
3484        		$(sel('[data-column-name="textover-more"]', _elU)).hide();
3485        		$(sel('[data-column-name="content"]', _elU)).attr('class', '');
3486        	};
3487        	
3488        	// sel('[data-column-name="comment-body-inner"]', _elU).onclick = function(event) {
3489        	// 	if($(sel('[data-column-name="content"]', _elU)).hasClass('textover') == true){
3490        	// 		$(sel('[data-column-name="content"]', _elU)).attr('class', '');
3491        	// 		$(sel('[data-column-name="textover-more"]', _elU)).attr('class', 'textover-more fold');
3492        	// 		$(sel('[data-column-name="textover-more"]', _elU)).html(/*"Fold"*/);
3493        	// 	}else{
3494        	// 		$(sel('[data-column-name="content"]', _elU)).attr('class', 'textover');
3495        	// 		$(sel('[data-column-name="textover-more"]', _elU)).attr('class', 'textover-more');
3496        	// 		$(sel('[data-column-name="textover-more"]', _elU)).html('...'+/*"More"*/);
3497        	// 	}
3498        	// };
3499        	//더보기 끝
3500        	
3501        	if(_data.evaluationType == "D"){
3502        		evalContent = "[" + _data.name + " 원장] " + _data.content
3503        	}else{
3504        		evalContent = _data.content;
3505        	}
3506        	sel('[data-column-name="content"]', _elU).innerHTML = evalContent;
3507        	//sel('[data-column-name="content"]', _elU).innerHTML = _data.content;
3508        	
3509        	if (_data.fileKey && _data.fileNm) {
3510        		var _imageEle = sel('[data-column-name="profileImg"]', _elU);
3511        		var _url = bts.url.getCdnImg(_data.fileKey, _data.fileNm);
3512        		
3513        		// if (_this.isLazyTarget(dataListEle)) {
3514                //     _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
3515                //     _imageEle.classList.add('lazy');
3516                // } else {
3517                //     _imageEle.style.backgroundImage	= 'url(' + _url + ')';
3518                // }
3519				_imageEle.style.backgroundImage	= 'url(' + _url + ')';
3520        	};
3521        	
3522        	// for(i=1; i<= _data.evaluationLevel; i++){
3523        	// 	sel('[data-column-name="star'+i+'"]', _elU).classList.add('active');
3524        	// }
3525        	
3526        	//isFunction(callback) && callback(_elU) && callback(_elP);
3527            dataListEle.appendChild(_elU);
3528            
3529            // if (typeof _data.pid != "undefined") {
3530        	// 	sel('[data-column-name="date"]', _elP).innerHTML = _data.pregDate;
3531        	// 	sel('[data-column-name="content"]', _elP).innerHTML = _data.pcontent;
3532        	// 	dataListEle.appendChild(_elP);
3533        	// }
3534        };
3535        _this.renderTwoRowEvaluationEvent = function(_data, dataListEle, callbackItemClick, callback) {
3536			//console.log(">>>_data = ", _data);
3537        	var _elU = cloneEleP(sel('[data-ele-name="templateWrapperTwoEvaluationUserEvent"]', _ele.p));
3538        	var _elP = cloneEleP(sel('[data-ele-name="templateWrapperTwoEvaluationProvEvent"]', _ele.p));
3539
3540        	sel('[data-column-name="name"]', _elU).innerHTML = _data.nickName;
3541        	sel('[data-column-name="point"]', _elU).innerHTML = parseFloat(_data.evaluationLevel).toFixed(1);
3542        	//sel('[data-column-name="date"]', _elU).innerHTML = new Date(_data.regDate).format("yy.MM.dd");
3543        	//sel('[data-column-name="date"]', _elU).innerHTML = new Date(_data.regDate).format("yyyy.MM.dd");	
3544        	sel('[data-column-name="date"]', _elU).innerHTML = _data.regDate;
3545        	sel('[data-column-name="content"]', _elU).innerHTML = _data.content;
3546        	
3547        	//더보기 시작
3548        	if(_data.content.length > 50){
3549        		$(sel('[data-column-name="textover-more"]', _elU)).show();
3550        	}else{
3551        		$(sel('[data-column-name="textover-more"]', _elU)).hide();
3552        		$(sel('[data-column-name="content"]', _elU)).attr('class', '');
3553        	};
3554        	
3555        	// sel('[data-column-name="comment-body-inner"]', _elU).onclick = function(event) {
3556        	// 	if($(sel('[data-column-name="content"]', _elU)).hasClass('textover') == true){
3557        	// 		$(sel('[data-column-name="content"]', _elU)).attr('class', '');
3558        	// 		$(sel('[data-column-name="textover-more"]', _elU)).attr('class', 'textover-more fold');
3559        	// 		$(sel('[data-column-name="textover-more"]', _elU)).html(/*"Fold"*/);
3560        	// 	}else{
3561        	// 		$(sel('[data-column-name="content"]', _elU)).attr('class', 'textover');
3562        	// 		$(sel('[data-column-name="textover-more"]', _elU)).attr('class', 'textover-more');
3563        	// 		$(sel('[data-column-name="textover-more"]', _elU)).html('...'+/*"More"*/);
3564        	// 	}
3565        	// };
3566        	//더보기 끝
3567        	
3568        	if (_data.fileKey && _data.fileNm) {
3569        		var _imageEle = sel('[data-column-name="profileImg"]', _elU);
3570        		var _url = bts.url.getCdnImg(_data.fileKey, _data.fileNm);
3571        		
3572        		if (_this.isLazyTarget(dataListEle)) {
3573                    _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
3574                    _imageEle.classList.add('lazy');
3575                } else {
3576                    _imageEle.style.backgroundImage	= 'url(' + _url + ')';
3577                }
3578        	};
3579        	
3580        	// for(i=1; i<= _data.evaluationLevel; i++){
3581        	// 	sel('[data-column-name="star'+i+'"]', _elU).classList.add('active');
3582        	// }
3583        	
3584        	//isFunction(callback) && callback(_elU) && callback(_elP);
3585            dataListEle.appendChild(_elU);
3586            
3587            if (typeof _data.pid != "undefined") {
3588        		sel('[data-column-name="date"]', _elP).innerHTML = _data.pregDate;
3589        		sel('[data-column-name="content"]', _elP).innerHTML = _data.pcontent;
3590        		dataListEle.appendChild(_elP);
3591        	}
3592        };
3593        _this.renderRowEvaluation = function(_data, dataListEle, callbackItemClick, callback) {
3594        	var evalContent = "";
3595        	var _el = cloneEleP(sel('[data-ele-name="templateWrapperEvaluationLiUser"]', _ele.p));
3596        	var _elP = cloneEleP(sel('[data-ele-name="templateWrapperEvaluationLiProv"]', _ele.p));
3597        	sel('[data-column-name="name"]', _el).innerHTML = _data.nickName;
3598
3599        	// for(i=1; i<= _data.evaluationLevel; i++){
3600        	// 	sel('[data-column-name="star'+i+'"]', _el).classList.add('active');
3601        	// }
3602        	sel('[data-column-name="point"]', _el).innerHTML = parseFloat(_data.evaluationLevel).toFixed(1);
3603        	//sel('[data-column-name="date"]', _el).innerHTML = new Date(_data.regDate).format("yy.MM.dd");
3604        	//sel('[data-column-name="date"]', _el).innerHTML = new Date(_data.regDate).format("yyyy.MM.dd");
3605        	sel('[data-column-name="date"]', _el).innerHTML = _data.regDate;
3606        	if(_data.evaluationType == "D"){
3607        		evalContent = "[" + _data.name + " 원장] " + _data.content
3608        	}else{
3609        		evalContent = _data.content;
3610        	}
3611        	//sel('[data-column-name="content"]', _el).innerHTML = _data.content;
3612        	sel('[data-column-name="content"]', _el).innerHTML = evalContent;
3613        	
3614        	if (_data.fileKey && _data.fileNm) {
3615        		var _imageEle = sel('[data-column-name="profileImg"]', _el);
3616        		var _url = bts.url.getCdnImg(_data.fileKey, _data.fileNm);
3617        		
3618        		if (_this.isLazyTarget(dataListEle)) {
3619                    //_imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
3620                    _imageEle.style.backgroundImage	= 'url(' + _url + ')';
3621                    _imageEle.classList.add('lazy');
3622                } else {
3623                    _imageEle.style.backgroundImage	= 'url(' + _url + ')';
3624                }
3625        	};
3626        	
3627        	// var _reportModal = sel('[data-ele-name="reportModal"]', _el);
3628        	// _reportModal.onclick = function (event) {
3629        	// 	event.preventDefault();
3630        	// 	if(!bts.requiredLoginModal()) {
3631        	// 	    return false;
3632        	// 	}
3633        	// 	reportModal.init(_data.id);
3634            // }
3635            // if(__userNo == _data.userNo){
3636            // 	hideEles(_reportModal);
3637            // }
3638            console.log(_el);
3639            dataListEle.appendChild(_el);
3640            
3641        	if (typeof _data.pid != "undefined") {
3642        		sel('[data-column-name="provDate"]', _elP).innerHTML = _data.pregDate;
3643        		sel('[data-column-name="provContent"]', _elP).innerHTML = _data.pcontent;
3644        		showEles(sel('[data-ele-name="templateWrapperEvaluationProv"]', _elP));
3645        		dataListEle.appendChild(_elP);
3646        	}
3647        };
3648        
3649        _this.renderRowStore = function(_data, dataListEle, callbackItemClick, callback) {
3650        	var _el = cloneEle(sel('[data-ele-name="templateWrapperSkinCare"]', _ele.p));
3651        	var _wrapperLink1Ele = sel('[data-column-name="wrapperLink1"]'		, _el);
3652        	var _wrapperLink2Ele = sel('[data-column-name="wrapperLink2"]'		, _el);
3653        	var fileNmArry = _data.pfileNm.split(',');
3654        	var discountedPercentage = Math.floor((_data.price - _data.discountPrice)/_data.price * 100);
3655        	
3656        	sel('[data-column-name="brandName"]', _el).innerHTML = _data.brandName;
3657        	sel('[data-column-name="productName"]', _el).innerHTML = _data.productName;
3658        	sel('[data-column-name="price"]', _el).innerHTML = numberToLocale(_data.price); //bts.i18n.decorateCurrencyUnitVer2(StringUtil.numberWithCommas(_data.price),bts.text.unit_currency, locale);
3659        	sel('[data-column-name="discountedPrice"]', _el).innerHTML = numberToLocale(_data.discountPrice); //bts.i18n.decorateCurrencyUnitVer2(StringUtil.numberWithCommas(_data.discountPrice), bts.text.unit_currency, locale);
3660        	sel('[data-column-name="discountedPercentage"]', _el).innerHTML = discountedPercentage + "&#37";
3661        	
3662        	if (0.01 < discountedPercentage) {
3663				showEles(sel('[data-column-name="discountedPercentage"]', _el));
3664				showEles(sel('[data-column-name="price"]', _el));
3665			} else {
3666				hideEles(sel('[data-column-name="discountedPercentage"]', _el));
3667				hideEles(sel('[data-column-name="price"]', _el));
3668			}
3669        	
3670        	_wrapperLink1Ele.onclick = function(event) {
3671        		//console.log(_data.mno);
3672        		if(!bts.requiredLoginModal()) {
3673        		    return false;
3674        		}
3675        		if(_data.optionYn == 'N'){
3676        			scriptAddToCart(_data.mno);	
3677        		}else{
3678        			bts.toast("옵션이 있는 상품입니다. 상세 페이지를 확인하세요.");
3679        		}
3680        	};
3681        	
3682        	_wrapperLink2Ele.href = bts.seo.parseDetailPath(bts.path.storeDetail, _data.mno, _data.productName);
3683        	
3684        	if (_data.pfileKey && fileNmArry[0]) {
3685                var _imageEle = sel('[data-column-name="image"]', _el);
3686                var _url = bts.url.getCdnImg(_data.pfileKey, fileNmArry[0]);
3687                // 이미지 지연 로딩
3688                if (_this.isLazyTarget(dataListEle)) {
3689                    _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
3690                    _imageEle.classList.add('lazy');
3691                } else {
3692                    _imageEle.style.backgroundImage	= 'url(' + _url + ')';
3693                }
3694            }
3695        	
3696        	if(_data.evalInfo){
3697				var evalArr = _data.evalInfo.split(",");
3698            	sel('[data-column-name="evalPoint"]', _el).innerHTML = parseFloat(evalArr[0]).toFixed(1);
3699
3700            	var _startWidth = (parseFloat(evalArr[0]) / 5) * 100;
3701				sel('[data-column-name="starWidthMain"]', _el).style.width=_startWidth+"%";
3702				//sel('[data-column-name="evalCnt"]', _el).innerHTML = evalArr[1];
3703			}else{
3704				sel('[data-column-name="evalPoint"]', _el).innerHTML = "0.0";
3705				//sel('[data-column-name="evalCnt"]', _el).innerHTML = 0;
3706			}
3707        	
3708        	//console.log(_data);
3709        	
3710        	dataListEle.appendChild(_el);
3711        };
3712        
3713        _this.renderRowEvent = function(_data, dataListEle, callbackItemClick, callback) {
3714			// console.log(">>>_data = ", _data);
3715			// console.log(">>>dataListEle = ", dataListEle);
3716        	var _el = "";
3717        	if(_data.title == "남자 눈매교정 69" || 
3718				_data.title == "#id남자코성형💘149만" || 
3719				_data.title == "아이웰 남자눈 종합선물세트" || 
3720				_data.title == "프리미어 남자눈매교정"){
3721        		// _el = cloneEle(sel('[data-ele-name="templateWrapperEvent2"]', _ele.p));
3722        		_el = cloneEle(sel('[data-ele-name="templateWrapperEvent"]', _ele.p));
3723        	}else{
3724        		_el = cloneEle(sel('[data-ele-name="templateWrapperEvent"]', _ele.p));
3725        	}
3726            var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
3727            var _name = _data.name || '';
3728            var _title = _data.title || '';
3729            if (_data.fileKey && _data.fileNm) {
3730                var _imageEle = sel('[data-column-name="image"]', _el);
3731                var _imageEle2 = sel('[data-column-name="image2"]', _el);
3732                var _url = bts.url.getCdnImg(_data.fileKey, _data.fileNm);
3733
3734                // 이미지 지연 로딩
3735                // if (_this.isLazyTarget(dataListEle)) {
3736                //     _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
3737                //     _imageEle.classList.add('lazy');
3738                // } else {
3739                //     _imageEle.style.backgroundImage	= 'url(' + _url + ')';
3740                // }
3741				_imageEle.src	= _url;
3742				_imageEle2.src	= _url;
3743            }
3744            sel('[data-column-name="name"]'	, _el).innerHTML		= _name;
3745            //var _addr = bts.getShortAddr(_data.addr || '');
3746            var _addr = _data.station;
3747            var _addrEl = sel('[data-column-name="address"]', _el);
3748            _addrEl.innerHTML = _addr;
3749            if (isEn()) {
3750                hideEles(_addrEl);
3751            } else {
3752                showEles(_addrEl);
3753            }
3754            
3755            if(_data.evalInfo){
3756				var evalArr = _data.evalInfo.split(",");
3757            	sel('[data-column-name="evalPoint"]', _el).innerHTML = parseFloat(evalArr[0]).toFixed(1);
3758
3759            	// var _startWidth = (parseFloat(evalArr[0]) / 5) * 100;
3760				// sel('[data-column-name="starWidthMain"]', _el).style.width=_startWidth+"%";
3761			}else{
3762				sel('[data-column-name="evalPoint"]', _el).innerHTML = "0.0";
3763			}
3764            sel('[data-column-name="title"]', _el).innerHTML = _title;
3765            sel('[data-column-name="subTitle"]', _el).innerHTML = _data.stitle || '';
3766            sel('[data-column-name="price"]', _el).innerHTML = numberToLocale(_data.price) || '';
3767            var discountedPercentage = Math.floor((_data.price - _data.dprice)/_data.price * 100);
3768            var _discountedPercentageEl = sel('[data-column-name="discountedPercentage"]', _el);
3769			//_discountedPercentageEl.innerHTML =  discountedPercentage ? discountedPercentage + "&#37;" : '';
3770			/* if (0.01 < discountedPercentage) {
3771				showEles(_discountedPercentageEl);
3772			} else {
3773				hideEles(_discountedPercentageEl);
3774			} */
3775			_discountedPercentageEl.innerHTML = discountedPercentage + "&#37";
3776			if(discountedPercentage == 0){
3777				hideEles(_discountedPercentageEl);
3778				hideEles(sel('[data-column-name="price"]', _el));
3779				// sel('[data-column-name="discountedPercentageStrong"]', _el).remove();
3780			}else{
3781				showEles(_discountedPercentageEl);
3782			}
3783            sel('[data-column-name="discountedPrice"]', _el).innerHTML = numberToLocale(_data.dprice);
3784            
3785            if(_data.eventType == "M"){
3786            	hideEles(sel('[data-column-name="discountedPrice"]', _el));
3787            }
3788            
3789            _wrapperLinkEle.dataset.bedtId = _data.bedtId;
3790            _wrapperLinkEle.dataset.title = _title;
3791            _wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.eventDetail, _data.bedtId, _title);
3792            _wrapperLinkEle.onclick = function(event) {
3793                console.log('row click');
3794                var __this = this;
3795                callbackItemClick(event, __this);
3796            };
3797            isFunction(callback) && callback(_el);
3798            dataListEle.appendChild(_el);
3799        };
3800
3801        _this.renderRowEventModel = function(_data, dataListEle, callbackItemClick, callback) {
3802        	var _el = cloneEle(sel('[data-ele-name="templateWrapperEventModel"]', _ele.p));
3803            var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
3804            var _name = _data.name || '';
3805            var _title = _data.title || '';
3806            if (_data.fileKey && _data.fileNm) {
3807                var _imageEle = sel('[data-column-name="image"]', _el);
3808                var _url = bts.url.getCdnImg(_data.fileKey, _data.fileNm);
3809
3810                // 이미지 지연 로딩
3811                // if (_this.isLazyTarget(dataListEle)) {
3812                //     _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
3813                //     _imageEle.classList.add('lazy');
3814                // } else {
3815                //     _imageEle.style.backgroundImage	= 'url(' + _url + ')';
3816                // }
3817				_imageEle.src	= _url;
3818            }
3819            
3820            try{
3821            	if(_data.title.indexOf("남자 코성형 리얼모델모집") >= 0 ){
3822                	_el.classList.add('hot-event');
3823                };	
3824            }catch(e){
3825            };
3826            
3827            sel('[data-column-name="name"]'	, _el).innerHTML		= _name;
3828            //var _addr = bts.getShortAddr(_data.addr || '');
3829            var _addr = _data.station;
3830            var _addrEl = sel('[data-column-name="address"]', _el);
3831            _addrEl.innerHTML = _addr;
3832            if (isEn()) {
3833                hideEles(_addrEl);
3834            } else {
3835                showEles(_addrEl);
3836            }
3837            
3838            if(_data.evalInfo){
3839				var evalArr = _data.evalInfo.split(",");
3840            	sel('[data-column-name="evalPoint"]', _el).innerHTML = parseFloat(evalArr[0]).toFixed(1);
3841
3842            	var _startWidth = (parseFloat(evalArr[0]) / 5) * 100;
3843				// sel('[data-column-name="starWidthMain"]', _el).style.width=_startWidth+"%";
3844			}else{
3845				sel('[data-column-name="evalPoint"]', _el).innerHTML = "0.0";
3846			}
3847            sel('[data-column-name="title"]', _el).innerHTML = _title;
3848            sel('[data-column-name="subTitle"]', _el).innerHTML = _data.stitle || '';
3849            _wrapperLinkEle.dataset.bedtId = _data.bedtId;
3850            _wrapperLinkEle.dataset.title = _title;
3851            _wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.eventDetail, _data.bedtId, _title);
3852            _wrapperLinkEle.onclick = function(event) {
3853                console.log('row click');
3854                var __this = this;
3855                callbackItemClick(event, __this);
3856            };
3857            isFunction(callback) && callback(_el);
3858            dataListEle.appendChild(_el);
3859        };
3860        
3861        _this.renderRowTreatment = function(_data, dataListEle, callbackItemClick) {
3862
3863            // shield
3864            //if (_data.data == null || $rsea.isEmpty(_data.data.intro)) {
3865            //}
3866            if (_data.data == null) {
3867
3868                bts.isDebug() && console.log(_this.ns + '.renderRowTreatment :: Skip this data. Cause, no data. lang:', locale, 'no: ', _data.no);
3869                _this.renderRowEmpty(_data, dataListEle);
3870                return false;
3871            }
3872
3873            // render row [s]
3874            var _el = cloneEle(sel('[data-ele-name="templateWrapperTreatment"]'	, _ele.p), 0);
3875            var _priceEle = sel('[data-column-name="price"]'					, _el);
3876            var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
3877
3878            var _surgicalTypeNm = (_data.surgicalType == bts.consts.surgicalType.y ? bts.text.word_surgicalTypeY : bts.text.word_surgicalTypeN);
3879
3880            var _priceStr = '';
3881            if ((_data.data.costMin == null || _data.data.costMin == 0) && (_data.data.costMax == null || _data.data.costMax == 0)) {
3882
3883                hideEles(_priceEle);
3884            } else {
3885
3886                showEles(_priceEle);
3887                _priceStr = bts.i18n.decorateMultipleCurrencyUnitValue(StringUtil.numberWithCommas(_data.data.costMin), StringUtil.numberWithCommas(_data.data.costMax), bts.text.unit_currency, locale);
3888            }
3889
3890            sel('[data-column-name="title"]'			, _el).innerHTML	= _data.data.name || '';
3891            _priceEle											.innerHTML	= _priceStr;
3892            sel('[data-column-name="surgicalType"]'		, _el).innerHTML	= _surgicalTypeNm;
3893            //	sel('[data-column-name="reviewCnt"]'	, _el).innerHTML	= _data.reviewCnt;
3894            //	sel('[data-column-name="satisfaction"]'	, _el).innerHTML	= _data.
3895            sel('[data-column-name="likeCnt"]'			, _el).innerHTML	= `<span class="value">${_data.likeCnt}</span>`;
3896            _wrapperLinkEle.dataset.no = _data.no;
3897            _wrapperLinkEle.dataset.name = _data.data.name;
3898            _wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.treatmentDetail, _data.no, _data.data.name);
3899            _wrapperLinkEle.onclick = function(event) {
3900                console.log('row click');
3901                var __this = this;
3902                callbackItemClick(event, __this);
3903            };
3904
3905            dataListEle.appendChild(_el);
3906            // render row [e]
3907        };
3908        _this.renderRowTreatmentMain = function(_data, dataListEle, callbackItemClick) {
3909            if (_data.id == null) {
3910
3911                bts.isDebug() && console.log(_this.ns + '.renderRowTreatment :: Skip this data. Cause, no data. lang:', locale, 'no: ', _data.no);
3912                _this.renderRowEmpty(_data, dataListEle);
3913                return false;
3914            }
3915
3916            // render row [s]
3917            var _el = cloneEle(sel('[data-ele-name="templateWrapperTreatmentMain"]'	, _ele.p), 0);
3918            
3919            var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
3920            if (_data.fileNm && _data.fileKey) {
3921            	var _imageEle = sel('[data-column-name="image"]', _el);
3922                var _url = bts.url.getCdnImg(_data.fileKey, _data.fileNm);
3923             	// 이미지 지연 로딩
3924                if (_this.isLazyTarget(dataListEle)) {
3925                    _imageEle.src	= _url;
3926                    _imageEle.classList.add('lazy');
3927                } else {
3928                    _imageEle.src	= _url;
3929                }
3930            }
3931            //sel('[data-column-name="image"]'			, _el).innerHTML	= bts.url.getCdnImg(_data.fileKey, _data.fileNm);
3932            _wrapperLinkEle.dataset.id = _data.id;
3933            /* _wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.treatmentMainDetail, _data.id, '');
3934            _wrapperLinkEle.onclick = function(event) {
3935                console.log('row click');
3936                var __this = this;
3937                callbackItemClick(event, __this);
3938            }; */
3939
3940            _wrapperLinkEle.href = "javascript:void(0)";
3941            _wrapperLinkEle.onclick = function(event) {
3942              event.preventDefault();
3943              bts.setListData(bts.dataKeys.selTxParts, [_data.txPartCd]);
3944              location.href = bts.path.treatment;
3945            };
3946
3947            dataListEle.appendChild(_el);
3948            // render row [e]
3949        };
3950        _this.renderAddRank = function(_data, _el) {
3951            var _changeOrder = Number(_data.changeOrder);
3952            var _rankChangeClassNm;
3953            if (_changeOrder == 0) {
3954                _rankChangeClassNm = '';
3955            } else if (0 < _changeOrder) {
3956                _rankChangeClassNm = 'up';
3957            } else if (0 > _changeOrder) {
3958                _rankChangeClassNm = 'down';
3959            } else {
3960                _rankChangeClassNm = '';
3961            }
3962            var wrapperRankEle = sel('[data-ele-name="rank"]', _el);
3963	        sel('[data-column-name="rank"]', wrapperRankEle).innerHTML = _data.rankOrder;
3964            addClass(sel('[data-column-name="rankChangeWrapper"]', wrapperRankEle), _rankChangeClassNm);
3965            var _rankChangeEl = sel('[data-column-name="rankChange"]', wrapperRankEle);
3966			if (_changeOrder == 0) {
3967				_rankChangeEl.innerHTML = '';
3968				hideEles(_rankChangeEl);
3969			} else {
3970				_rankChangeEl.innerHTML = _changeOrder;
3971				showEles(_rankChangeEl);
3972			}
3973	        showEles(wrapperRankEle);
3974        };
3975        
3976		_this.renderRowDoctor2 = function(_data, dataListEle, callbackItemClick) {
3977			 //console.log(">>>_data = ", _data);
3978            // shield
3979            if (_data.data == null) {
3980
3981                bts.isDebug() && console.log(_this.ns + '.renderRowDoctor :: Skip this data. Cause, no data. lang:', locale, 'no: ', _data.no);
3982                _this.renderRowEmpty(_data, dataListEle);
3983                return false;
3984            }
3985
3986            // render row [s]
3987            var _el = cloneEle(sel('[data-ele-name="templateWrapperDoctor2"]'	, _ele.p), 0);
3988            var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
3989            var _name = _data.data.name || '';
3990            // if (_data.rank) {
3991            //     _this.renderAddRank(_data.rank, _el);
3992            //     _data = _data.data;
3993            //     _name = _data.data.name || '';
3994            // }
3995
3996            if(_data.evalInfo){
3997            	var evalArr = _data.evalInfo.split(",");
3998            	sel('[data-column-name="evalPoint"]', _el).innerHTML = parseFloat(evalArr[0]).toFixed(1);
3999            	//sel('[data-column-name="evalCnt"]', _el).innerHTML = evalArr[1];
4000            	// var _startWidth = (parseFloat(evalArr[0]) / 5) * 100;
4001				// sel('[data-column-name="starWidth"]', _el).style.width=_startWidth+"%";
4002            }else{
4003            	sel('[data-column-name="evalPoint"]', _el).innerHTML = "0.0";
4004            	//sel('[data-column-name="evalCnt"]', _el).innerHTML = "0";
4005            }
4006            
4007            if (_data.profile && _data.profile.fileKey && _data.profile.fileNm) {
4008                var _imageEle = sel('[data-column-name="image"]', _el);
4009                var _url = bts.url.getCdnImg(_data.profile.fileKey, _data.profile.fileNm);
4010
4011                _imageEle.style.backgroundImage	= 'url(' + _url + ')';
4012            }
4013            var nameCall = "Dr.";
4014            // switch(locale) {
4015			// 	case "ko" : sel('[data-column-name="title"]'		, _el).innerHTML		= _name + " " + nameCall; break;
4016			// 	case "en" : sel('[data-column-name="title"]'		, _el).innerHTML		= nameCall + " " + _name; break;
4017			// 	default : sel('[data-column-name="title"]'		, _el).innerHTML		= _name;
4018			// }
4019            sel('[data-column-name="title"]'		, _el).innerHTML		= _name;
4020            // sel('[data-column-name="major"]'		, _el).innerHTML		= _data.majorName || '';
4021            /* if(_data.majorName == null){
4022            	hideEles(sel('[data-column-name="br"]'		, _el));
4023            } */
4024            // sel('[data-column-name="hospitalNm"]'	, _el).innerHTML		= (_data.prov && _data.prov.data) ? _data.prov.data.name : '';
4025            // bts.lazy.getsTxPart.run(function(txParts) {
4026			// 	_renderTxPartList(_getFilteredSiteList(_data.tx, txParts), sel('[data-ele-name="txPart"]', _el));
4027            // });
4028//			sel('[data-column-name="reviewCnt"]'	, _el).innerHTML		= _data.reviewCnt;
4029//			sel('[data-column-name="satisfaction"]'	, _el).innerHTML		= _data.
4030//            sel('[data-column-name="likeCnt"]'		, _el).innerHTML		= _data.likeCnt;
4031            _wrapperLinkEle.dataset.no = _data.no;
4032            _wrapperLinkEle.dataset.name = _name;
4033            _wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.doctorDetail, _data.no, _name);
4034            _wrapperLinkEle.onclick = function(event) {
4035                console.log('row click');
4036                var __this = this;
4037                callbackItemClick(event, __this);
4038            };
4039
4040            dataListEle.appendChild(_el);
4041            // render row [e]
4042        };
4043
4044        _this.renderRowDoctor = function(_data, dataListEle, callbackItemClick) {
4045			// console.log(">>>_data = ", _data);
4046            // shield
4047            if (_data.data == null) {
4048
4049                bts.isDebug() && console.log(_this.ns + '.renderRowDoctor :: Skip this data. Cause, no data. lang:', locale, 'no: ', _data.no);
4050                _this.renderRowEmpty(_data, dataListEle);
4051                return false;
4052            }
4053
4054            // render row [s]
4055            var _el = cloneEle(sel('[data-ele-name="templateWrapperDoctor"]'	, _ele.p), 0);
4056            var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
4057            var _name = _data.data.name || '';
4058            // if (_data.rank) {
4059            //     _this.renderAddRank(_data.rank, _el);
4060            //     _data = _data.data;
4061            //     _name = _data.data.name || '';
4062            // }
4063
4064            if(_data.evalInfo){
4065            	var evalArr = _data.evalInfo.split(",");
4066            	sel('[data-column-name="evalPoint"]', _el).innerHTML = parseFloat(evalArr[0]).toFixed(1);
4067            	//sel('[data-column-name="evalCnt"]', _el).innerHTML = evalArr[1];
4068            	// var _startWidth = (parseFloat(evalArr[0]) / 5) * 100;
4069				// sel('[data-column-name="starWidth"]', _el).style.width=_startWidth+"%";
4070            }else{
4071            	sel('[data-column-name="evalPoint"]', _el).innerHTML = "0.0";
4072            	//sel('[data-column-name="evalCnt"]', _el).innerHTML = "0";
4073            }
4074            
4075            if (_data.profile && _data.profile.fileKey && _data.profile.fileNm) {
4076
4077                var _imageEle = sel('[data-column-name="image"]', _el);
4078                var _imageEle2 = sel('[data-column-name="image2"]', _el);
4079                var _url = bts.url.getCdnImg(_data.profile.fileKey, _data.profile.fileNm);
4080
4081                // 이미지 지연 로딩
4082                // if (_this.isLazyTarget(dataListEle)) {
4083
4084                //     _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
4085                //     _imageEle.classList.add('lazy');
4086                // } else {
4087
4088                //     _imageEle.style.backgroundImage	= 'url(' + _url + ')';
4089                // }
4090                // _imageEle.style.backgroundImage	= 'url(' + _url + ')';
4091                _imageEle.src	= _url;
4092                _imageEle2.src	= _url;
4093            }
4094            var nameCall = "Dr.";
4095            // switch(locale) {
4096			// 	case "ko" : sel('[data-column-name="title"]'		, _el).innerHTML		= _name + " " + nameCall; break;
4097			// 	case "en" : sel('[data-column-name="title"]'		, _el).innerHTML		= nameCall + " " + _name; break;
4098			// 	default : sel('[data-column-name="title"]'		, _el).innerHTML		= _name;
4099			// }
4100            sel('[data-column-name="title"]'		, _el).innerHTML		= _name;
4101            sel('[data-column-name="major"]'		, _el).innerHTML		= _data.majorName || '';
4102            /* if(_data.majorName == null){
4103            	hideEles(sel('[data-column-name="br"]'		, _el));
4104            } */
4105            sel('[data-column-name="hospitalNm"]'	, _el).innerHTML		= (_data.prov && _data.prov.data) ? _data.prov.data.name : '';
4106            bts.lazy.getsTxPart.run(function(txParts) {
4107				_renderTxPartList(_getFilteredSiteList(_data.tx, txParts), sel('[data-ele-name="txPart"]', _el));
4108            });
4109//			sel('[data-column-name="reviewCnt"]'	, _el).innerHTML		= _data.reviewCnt;
4110//			sel('[data-column-name="satisfaction"]'	, _el).innerHTML		= _data.
4111//            sel('[data-column-name="likeCnt"]'		, _el).innerHTML		= _data.likeCnt;
4112            _wrapperLinkEle.dataset.no = _data.no;
4113            _wrapperLinkEle.dataset.name = _name;
4114            _wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.doctorDetail, _data.no, _name);
4115            _wrapperLinkEle.onclick = function(event) {
4116                console.log('row click');
4117                var __this = this;
4118                callbackItemClick(event, __this);
4119            };
4120
4121            dataListEle.appendChild(_el);
4122            // render row [e]
4123        };
4124        _this.isLazyTarget = function(pEle) {
4125            var isLazy = false;
4126            if (typeof paginator == "undefined") {
4127
4128            } else {
4129                if (pEle.children.length < (paginator.getPageSize() / 2 + 1)) {
4130
4131                } else {
4132
4133                    isLazy = true;
4134                }
4135            }
4136            return isLazy;
4137        };
4138        
4139        _this.renderCommonRankingSelected = function(_data, dataListEle, callbackItemClick, callback) {
4140            var _el = cloneEle(sel('[data-ele-name="templateCommonRankingSelected"]'	, _ele.p), 0);
4141            var _wrapperLinkEle = sel('[data-column-name="rankingSelected"]'		, _el);
4142            _wrapperLinkEle.onclick = function(event) {
4143                bts.isDebug() && console.log(_this.ns + '.renderRowCommonRankingSelected :: row click');
4144                var __this = this;
4145                callbackItemClick(event, __this);
4146            };
4147            dataListEle.appendChild(_el);
4148            isFunction(callback) && callback(_el);
4149        };
4150        
4151        _this.renderRowHospital = function(_data, dataListEle, callbackItemClick, callback) {
4152            // shield
4153            //if (_data.data == null || $rsea.isEmpty(_data.data.addr)) {
4154            //}
4155            if (_data.data == null) {
4156
4157                bts.isDebug() && console.log(_this.ns + '.renderRowDoctor :: Skip this data. Cause, no data. lang:', locale, 'no: ', _data.no);
4158                _this.renderRowEmpty(_data, dataListEle);
4159                return false;
4160            }
4161            var _addr = bts.getShortAddr(_data.data.addr || '');
4162
4163            // render row [s]
4164            var _el = cloneEle(sel('[data-ele-name="templateWrapperHospital"]'	, _ele.p), 0);
4165            var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
4166            var _name = _data.data.name || '';
4167            if (_data.rank) {
4168                _this.renderAddRank(_data.rank, _el);
4169                _data = _data.data;
4170                _name = _data.data.name || '';
4171            }
4172			console.log(_data);
4173            if(_data.evalInfo){
4174            	var evalArr = _data.evalInfo.split(",");
4175            	sel('[data-column-name="evalPoint"]', _el).innerHTML = parseFloat(evalArr[0]).toFixed(1);
4176            	//sel('[data-column-name="evalCnt"]', _el).innerHTML = evalArr[1];
4177            	var _startWidth = (parseFloat(evalArr[0]) / 5) * 100;
4178				// sel('[data-column-name="starWidth"]', _el).style.width=_startWidth+"%";
4179            }else{
4180            	sel('[data-column-name="evalPoint"]', _el).innerHTML = "0.0";
4181            	//sel('[data-column-name="evalCnt"]', _el).innerHTML = "0";
4182            }
4183            
4184            if (_data.profile && _data.profile.fileKey && _data.profile.fileNm) {
4185
4186                var _imageEle = sel('[data-column-name="image"]', _el);
4187                var _imageEle2 = sel('[data-column-name="image2"]', _el);
4188                var _url = bts.url.getCdnImg(_data.profile.fileKey, _data.profile.fileNm);
4189
4190                // 이미지 지연 로딩
4191                // if (_this.isLazyTarget(dataListEle)) {
4192
4193                //     _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
4194                //     _imageEle.classList.add('lazy');
4195                // } else {
4196
4197                //     _imageEle.style.backgroundImage	= 'url(' + _url + ')';
4198                // }
4199                _imageEle.src	= _url;
4200                _imageEle2.src	= _url;
4201            }
4202            sel('[data-column-name="title"]'	, _el).innerHTML		= _name;
4203	        //var _locationInfoEle = sel('[data-ele-name="locationInfo"]'	, _el);
4204            var _addrEle = sel('[data-column-name="address"]'			, _el);
4205	        var _areaNmEle = sel('[data-column-name="areaNm"]'			, _el);
4206            _addrEle.innerHTML		= _addr;
4207
4208            _getsAreaInfo.run(function() {
4209				var _areaNm = bts.getAreaNm(_data.areaCd, '');
4210				_areaNmEle.innerHTML = _areaNm;
4211				if (isEmpty(_areaNm)) {
4212					hideEles(_areaNmEle);
4213				} else {
4214					showEles(_areaNmEle);
4215				}
4216				/* if (isEmpty(_addr)) {
4217					if (isEmpty(_areaNm)) {
4218						hideEles(_locationInfoEle);
4219					} else {
4220						_locationInfoEle.insertBefore(_areaNmEle, _addrEle);
4221					}
4222				} */
4223            }); 
4224            
4225            if (isEmpty(_addr)) {
4226                hideEles(_addrEle);
4227            } else {
4228                showEles(_addrEle);
4229            }
4230            bts.lazy.getsTxPart.run(function(txParts) {
4231            	try{
4232            		let arr = _data.tx[0].txPartCd.split(',')
4233                	let setArr = new Set(arr);
4234                	_renderTxPartList(_getNewVerFilteredSiteList(Array.from(setArr), txParts), sel('[data-ele-name="txPart"]', _el));
4235            	}catch(e){
4236            		hideEles(sel('[data-ele-name="txPart"]', _el));
4237            	}
4238                //_renderTxPartList(_getFilteredSiteList(_data.tx, txParts), sel('[data-ele-name="txPart"]', _el));
4239            });
4240//			sel('[data-column-name="reviewCnt"]'	, _el).innerHTML	= _data.reviewCnt;
4241//			sel('[data-column-name="satisfaction"]'	, _el).innerHTML	= _data.
4242//          sel('[data-column-name="likeCnt"]'		, _el).innerHTML	= _data.likeCnt;
4243            _wrapperLinkEle.dataset.no = _data.no;
4244            _wrapperLinkEle.dataset.name = _name;
4245            _wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.hospitalDetail, _data.no, _name);
4246            _wrapperLinkEle.onclick = function(event) {
4247                console.log('row click');
4248                var __this = this;
4249                callbackItemClick(event, __this);
4250            };
4251
4252            dataListEle.appendChild(_el);
4253	        isFunction(callback) && callback(_el);
4254            // dataListEle.prepend(_el);
4255            // render row [e]
4256        };
4257        var setImages = (function () {
4258			var _el = cloneEle(sel('[data-ele-name="templateWrapperReview"]', _ele.p));
4259            var VIEW_PLUS = '+';
4260            var VIEW_IMG_LENGTH = 3;
4261            var _templateImg = sel('[data-column-name="templateImg"]', _el);
4262            var _renderedImgCnt = 0;
4263            var _imgListEl;
4264            var setImages = function (imgNamesStr, fileKey, imgBadge) {
4265                if (!(imgNamesStr && isNotEmptyList(imgNamesStr.split(',')))) {
4266                    bts.isDebug() && console.log(_this.ns + '.setImages :: skip');
4267                    return false;
4268                }
4269                imgNamesStr.split(',').forEach(function (imgName, idx) {
4270
4271                    var _url = bts.url.getCdnImg(fileKey, imgName);
4272					// console.log(">>>_url = ", _url);
4273
4274                    var _imgLi = cloneEle(_templateImg);
4275                    var _imgBadgeEle = sel('[data-column-name="imgBadge"]', _imgLi);
4276                    var _selectLinkEle = sel('[data-ele-name="selectLink"]', _imgLi);
4277                    var _imageEle = sel('[data-column-name="image"]', _imgLi);
4278                    _imgBadgeEle.innerHTML = imgBadge;
4279                    // _selectLinkEle.href = _url;
4280                    // _selectLinkEle.dataset.index = _renderedImgCnt;
4281                    /*if (_this.isLazyTarget(dataListEle)) {
4282						// 이미지 지연 로딩
4283						_imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
4284						_imageEle.classList.add('lazy');
4285					} else {
4286						_imageEle.style.backgroundImage = 'url(' + _url + ')';
4287					}*/
4288                    _imageEle.style.backgroundImage = "url(" + _url + ")";
4289                    _imageEle.alt = imgBadge + (_renderedImgCnt + 1);
4290
4291                    // _renderedImgCnt++;
4292                    // if (VIEW_IMG_LENGTH + 1 == _renderedImgCnt) {
4293                    //     var _plusEl = sel('[data-column-name="plus"]', _imgLi);
4294                    //     _plusEl.innerHTML = VIEW_PLUS + _renderedImgCnt - VIEW_IMG_LENGTH;
4295                    //     showEles(_plusEl);
4296                    // } else if (VIEW_IMG_LENGTH + 1 < _renderedImgCnt) {
4297                    //     hideEles(_imgLi);
4298                    //     var _plusEl = sel('[data-column-name="plus"]', _imgLi);
4299                    //     _plusEl.innerHTML = VIEW_PLUS + _renderedImgCnt - VIEW_IMG_LENGTH;
4300                    // } else {
4301                    //     //console.log(_this.ns + '.setImages :: skip ', _renderedImgCnt);
4302                    // }
4303                    _imgListEl.appendChild(_imgLi);
4304                });
4305            };
4306            var setAllImages = function (
4307            		  beforeFileNmArr,
4308            		  beforeFileKey,
4309            		  beforeBadge,
4310            		  afterFileNmArr,
4311            		  afterFileKey,
4312            		  afterBadge
4313       		) {
4314       		  var maxLen = Math.max(
4315       		    Array.isArray(beforeFileNmArr) ? beforeFileNmArr.length : 0,
4316       		    Array.isArray(afterFileNmArr) ? afterFileNmArr.length : 0
4317       		  );
4318
4319       		  for (var i = 0; i < maxLen; i++) {
4320       		    if (beforeFileNmArr && beforeFileNmArr[i]) {
4321       		      var beforeUrl = bts.url.getCdnImg(beforeFileKey, beforeFileNmArr[i]);
4322       		      var beforeLi = cloneEle(_templateImg);
4323       		      var beforeBadgeEl = sel('[data-column-name="imgBadge"]', beforeLi);
4324       		      var beforeImageEl = sel('[data-column-name="image"]', beforeLi);
4325       		      beforeBadgeEl.innerHTML = beforeBadge;
4326       		      beforeImageEl.style.backgroundImage = "url(" + beforeUrl + ")";
4327       		      beforeImageEl.alt = beforeBadge + (_renderedImgCnt + 1);
4328       		      _imgListEl.appendChild(beforeLi);
4329       		      _renderedImgCnt++;
4330       		    }
4331
4332       		    if (afterFileNmArr && afterFileNmArr[i]) {
4333       		      var afterUrl = bts.url.getCdnImg(afterFileKey, afterFileNmArr[i]);
4334       		      var afterLi = cloneEle(_templateImg);
4335       		      var afterBadgeEl = sel('[data-column-name="imgBadge"]', afterLi);
4336       		      var afterImageEl = sel('[data-column-name="image"]', afterLi);
4337       		      afterBadgeEl.innerHTML = afterBadge;
4338       		      afterImageEl.style.backgroundImage = "url(" + afterUrl + ")";
4339       		      afterImageEl.alt = afterBadge + (_renderedImgCnt + 1);
4340       		      _imgListEl.appendChild(afterLi);
4341       		      _renderedImgCnt++;
4342       		    }
4343       		  }
4344       		};
4345            return {
4346                init: function(imgListEl) {
4347                    _renderedImgCnt = 0;
4348                    _imgListEl = imgListEl;
4349                },
4350                run: function(fileNmArr, fileKey, badge) {
4351                    if (!_imgListEl) {
4352                        bts.err(_this.ns + '.setImages :: setImages.run :: You must "setImages.init" first');
4353                    }
4354                    setImages(fileNmArr, fileKey, badge);
4355                }, 
4356                all: function(beforeFileNmArr, beforeFileKey, beforeBadge, afterFileNmArr, afterFileKey, afterBadge) {
4357                    if (!_imgListEl) {
4358                        bts.err(_this.ns + '.setImages :: setImages.run :: You must "setImages.init" first');
4359                    }
4360                    setAllImages(beforeFileNmArr.split(','), beforeFileKey.split(','), beforeBadge.split(','), afterFileNmArr.split(','), afterFileKey.split(','), afterBadge.split(','));
4361                },
4362                done: function () {
4363                    return 0 < _renderedImgCnt;
4364                }
4365            };
4366        })();
4367        var renderTxInfos = function (txPartCds, _txNos, wrapperEl) {
4368			bts.lazy.getsTxPart.run(function(txParts) { bts.lazy.getsTxName.run(function(txNames) {
4369				var _txInfosEl = sel('[data-ele-name="txInfos"]', wrapperEl);
4370				var _txNmTemplateWrapperEl = sel('[data-ele-name="txNmTemplateWrapper"]', wrapperEl);
4371				txPartCds.forEach(function (txPartCd, i) {
4372					var txInfosEl = showEles(cloneEleP(_txInfosEl));
4373                    wrapperEl.insertBefore(txInfosEl, _txInfosEl);
4374					_renderTxNames(txParts, txNames, txPartCd, _txNos, txInfosEl, _txNmTemplateWrapperEl);
4375				})
4376			}); });
4377        };
4378        var _renderTxNames = function (txParts, txNames, txPartCd, _txNos, _txInfosEl, txNmTemplateEl) {
4379            var siteList = _getFilteredSiteList([{txPartCd: txPartCd}], txParts);
4380            if (isEmptyList(siteList) || siteList[0] == null || isEmpty(siteList[0].partNm) || isEmpty(siteList[0].txPartCd)) {
4381                bts.isDebug() && console.log(_this.ns + ' :: _renderTxNames :: Invalid txPart data', siteList);
4382                return false;
4383            }
4384            var item = siteList[0];
4385            var _li = sel('[data-ele-name="txPart"]', _txInfosEl);
4386            _li.innerHTML = item.partNm;
4387            _li.dataset.txPartCd = item.txPartCd;
4388            /*_txNames.forEach(function(txNm) {
4389				var _li = cloneEle(txNmTemplateEl);
4390				_li.innerHTML = txNm;
4391				_txInfosEl.appendChild(_li);
4392			});*/
4393            _txNos.forEach(function(txNo) {
4394                var _li = cloneEle(txNmTemplateEl);
4395                txNames.forEach(function(txNameItem) {
4396                    if (txNameItem && txNameItem.listPartCd && txNameItem.no && txNameItem.data && txNameItem.data.name) {
4397						if (txNameItem.listPartCd.includes(txPartCd) && txNameItem.no == txNo) {
4398							bts.isDebug() && console.log(_this.ns + ' :: _renderTxNames :: ', txPartCd, txNameItem.listPartCd.includes(txPartCd), txNameItem.no);
4399							_li.innerHTML = txNameItem.data.name;
4400							_txInfosEl.appendChild(_li);
4401						}
4402                    }
4403                });
4404            });
4405        };
4406        _this.renderTxInfos = renderTxInfos;
4407        _this.renderRowReview = function(_data, dataListEle, callbackItemClick, callback, params) {
4408            // shield
4409            if (_data == null) {
4410                bts.isDebug() && console.log(_this.ns + '.renderRowReview :: Skip this data. Cause, no data. lang:', locale, 'no: ', _data.no);
4411                _this.renderRowEmpty(_data, dataListEle);
4412                return false;
4413            }
4414            
4415            var callbackUserClick = (isObj(params) && isFunction(params.user)) ? params.user : null;
4416            var callbackCommentClick = (isObj(params) && isFunction(params.comment)) ? params.comment : null;
4417            var callbackTranslateClick = (isObj(params) && isFunction(params.translate)) ? params.translate : function(event, _this, rowEl, callback) {
4418                bts.svc.translate([_this.dataset.goodPoint, _this.dataset.weakPoint], _this.dataset.fr, _this.dataset.to, function (res) {
4419                    bts.isDebug() && console.log(_this.ns + '.renderListMain :: translate click :: succ', res);
4420                    var data = res.body.data;
4421                    data.forEach(function (item) {
4422                        if (item.fr == _this.dataset.goodPoint) sel('[data-column-name="goodPoint"]', rowEl).innerHTML = item.to;
4423                        if (item.fr == _this.dataset.weakPoint) sel('[data-column-name="weakPoint"]', rowEl).innerHTML = item.to;
4424                    });
4425                    //sel('[data-column-name="wrapperLink"]', rowEl).href = sel('[data-column-name="wrapperLink"]', rowEl).href + '?' + bts.consts.review.params.translated + '=' + bts.consts.yn.y;
4426                    isFunction(callback) && callback();
4427                }, function (e) {
4428                    bts.isDebug() && console.log(_this.ns + '.renderListMain :: translate click :: err', e);
4429                }, bts.main.review, _data.no);
4430            };
4431
4432            var _txNos = isNotEmpty(_data.txNos) ? _data.txNos.split(DELIM_ARR) : [];
4433            var _txNames = isNotEmpty(_data.txNm) ? _data.txNm.split(DELIM_ARR) : [];
4434            var _title = bts.seo.getReviewTitle(_txNames);
4435
4436            // render row [s]
4437            var _el = cloneEle(sel('[data-ele-name="templateWrapperReview"]', _ele.p));
4438            setViewData(_el, _data, bts.isDebug());
4439			/* if(_data.likeCnt > 0){
4440    			sel('[data-column-name="likeCnt"]', _el).classList.add('on'); 
4441    		} */
4442            var _userWrapperLinkEle = sel('[data-column-name="userWrapperLink"]', _el);
4443            // setVal(_userWrapperLinkEle, bts.path.userDetail + '/' + _data.nickName); //FIXME 유저 프로필 나오면 수정
4444            setVal(_userWrapperLinkEle, bts.seo.parseDetailPath(bts.path.reviewDetail, _data.no, _title));
4445            _userWrapperLinkEle.onclick = function (event) {
4446                bts.isDebug() && console.log(_this.ns + '.renderRowReview :: user click');
4447                var btn = this;
4448                isFunction(callbackUserClick) && callbackUserClick(event, btn);
4449            };
4450            
4451            
4452			if (_data.profile) {
4453                var _imageEle = sel('[data-column-name="profileImage"]', _el);
4454                var _url = bts.url.getCdnImg(_data.profile.profileFileKey, _data.profile.profileFileNm);
4455                // 이미지 지연 로딩
4456                // if (_this.isLazyTarget(dataListEle)) {
4457
4458                //     _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
4459                //     _imageEle.classList.add('lazy');
4460                // } else {
4461
4462                //     _imageEle.style.backgroundImage = 'url(' + _url + ')';
4463                // }
4464                _imageEle.style.backgroundImage = 'url(' + _url + ')';
4465            }
4466			
4467			
4468            //var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]', _el);
4469            setVal(_userWrapperLinkEle, bts.seo.parseDetailPath(bts.path.reviewDetail, _data.no, _title));
4470            _userWrapperLinkEle.dataset.no = _data.no;
4471            _userWrapperLinkEle.dataset.title = _title;
4472            _userWrapperLinkEle.onclick = function(event) {
4473                bts.isDebug() && console.log(_this.ns + '.renderRowReview :: row click');
4474                var __this = this;
4475                isFunction(callbackItemClick) && callbackItemClick(event, __this);
4476            };
4477            // sel('[data-column-name="title"]'		, _el).innerHTML	= _data.name || '';
4478            var txPartCds = isNotEmpty(_data.txPartCd) ? _data.txPartCd.split(DELIM_ARR) : [];
4479            isNotEmptyList(txPartCds) && renderTxInfos(txPartCds, _txNos, _userWrapperLinkEle);
4480			
4481			var _btnTranslateEl = sel('[data-ele-name="btnTranslate"]', _el);
4482			if (_data.langType == getLanguage()) {
4483				hideEles(_btnTranslateEl);
4484			} else {
4485                if (isEmpty(_btnTranslateEl.dataset.translated) || _btnTranslateEl.dataset.translated == bts.consts.yn.n) {
4486                    _btnTranslateEl.dataset.translated = bts.consts.yn.n;
4487                    _btnTranslateEl.dataset.fr = _data.langType;
4488                    _btnTranslateEl.dataset.to = getLanguage();
4489                    _btnTranslateEl.innerHTML = bts.text.common_msg_see_translation;
4490                } else {
4491                    _btnTranslateEl.dataset.translated = bts.consts.yn.y;
4492                    _btnTranslateEl.dataset.fr = getLanguage();
4493                    _btnTranslateEl.dataset.to = _data.langType;
4494                    _btnTranslateEl.innerHTML = bts.text.common_msg_see_original;
4495                }
4496				_btnTranslateEl.dataset.no = _data.no;
4497				_btnTranslateEl.dataset.langType = _data.langType;
4498				_btnTranslateEl.dataset.goodPoint = isEmpty(_data.goodPoint) ? '' : _data.goodPoint.trim();
4499				_btnTranslateEl.dataset.weakPoint = isEmpty(_data.weakPoint) ? '' : _data.weakPoint.trim();
4500				_btnTranslateEl.onclick = function (event) {
4501					bts.isDebug() && console.log(_this.ns + '.renderRowReview :: row click :: translate');
4502					var __this = this;
4503					isFunction(callbackTranslateClick) && callbackTranslateClick(event, __this, _el, function () {
4504                        if (isEmpty(__this.dataset.translated) || __this.dataset.translated == bts.consts.yn.n) {
4505                            __this.dataset.translated = bts.consts.yn.y;
4506                            __this.dataset.fr = getLanguage();
4507                            __this.dataset.to = __this.dataset.langType;
4508                            __this.innerHTML = bts.text.common_msg_see_original;
4509                        } else {
4510                            __this.dataset.translated = bts.consts.yn.n;
4511                            __this.dataset.fr = __this.dataset.langType;
4512                            __this.dataset.to = getLanguage();
4513                            __this.innerHTML = bts.text.common_msg_see_translation;
4514                        }
4515                    });
4516				};
4517			}
4518			
4519			var _imgListEl = sel('[data-ele-name="imgList"]', _el);
4520			
4521            /* setImages.run(_data.afterFileNmArry, _data.afterFileKey, bts.text.word_after);
4522            setImages.run(_data.beforeFileNmArry, _data.beforeFileKe
4522y, bts.text.word_before); */
4523            try{
4524            	setImages.init(_imgListEl);
4525            
4526            	try{
4527                	setImages.all(_data.beforeFileNmArry, _data.beforeFileKey, bts.text.word_before, _data.afterFileNmArry, _data.afterFileKey, bts.text.word_after);
4528                }catch(e){
4529                	setImages.run(_data.afterFileNmArry, _data.afterFileKey, bts.text.word_after);
4530                    setImages.run(_data.beforeFileNmArry, _data.beforeFileKey, bts.text.word_before);
4531                }
4532                if (setImages.done()) {
4533                    showEles(_imgListEl);
4534                }
4535            }catch(e){
4536            	
4537            }
4538            
4539            
4540			const slideBoardAttach = new Swiper('.slideBoardAttach', {
4541				slidesPerView: 2,
4542				pagination: {
4543					el: '.swiper-pagination',
4544					type: 'custom',
4545					renderCustom: function (swiper, current, total) {
4546					return `
4547						<div class="num">
4548							<span class="status">${current}</span>
4549							<span class="page">/ ${total}</span>
4550						</div>
4551					`;
4552					},
4553					clickable: true,
4554				},
4555			});
4556
4557
4558            // var _commentWrapperLinkEle = sel('[data-column-name="commentWrapperLink"]', _el);
4559            // setVal(_commentWrapperLinkEle, bts.seo.parseDetailPath(bts.path.reviewDetail, _data.no, _title, 'review-comment'));
4560            // _commentWrapperLinkEle.dataset.no = _data.no;
4561            // _commentWrapperLinkEle.dataset.title = _title;
4562            // _commentWrapperLinkEle.onclick = function(event) {
4563            //     bts.isDebug() && console.log(_this.ns + '.renderRowReview :: row click');
4564            //     var __this = this;
4565            //     isFunction(callbackCommentClick) && callbackCommentClick(event, __this);
4566            // };
4567			
4568            //나중에 위랑 같이 녹인다 빨리하는걸 원하셔서 이렇게 처리
4569            if(_data.hoursAgo >= 24){
4570        		sel('[data-data_key="regDate"]', _userWrapperLinkEle).innerHTML = new Date(_data.regDate).format("yyyy.MM.dd");	
4571        	}else if(_data.hoursAgo > 0){
4572        		sel('[data-data_key="regDate"]', _userWrapperLinkEle).innerHTML = _data.hoursAgo + "시간 전";
4573        	}else{
4574        		if(_data.minutesAgo == 0){
4575        			sel('[data-data_key="regDate"]', _userWrapperLinkEle).innerHTML = "방금 전";
4576        		}else{
4577        			sel('[data-data_key="regDate"]', _userWrapperLinkEle).innerHTML = _data.minutesAgo + "분 전";	
4578        		}
4579        	}
4580            
4581	         // 뱃지 텍스트 가져오기
4582	         /* var _imgSbWrapperEle = sel('[data-ele-name="selectLink"]', _el);
4583	         _imgSbWrapperEle.onclick = function (event) {
4584	        	 console.log(sel('[data-column-name="image"]',_imgSbWrapperEle).alt.substring(0,1));
4585	        	 var badgeText = sel('[data-column-name="image"]',_imgSbWrapperEle).alt.substring(0,1);
4586	                setTimeout(function() {
4587	                    $('.pswp__scroll-wrap .pswp__img').each(function(){
4588	                        $(this).after('<span class="photo-badge">'+ badgeText +'</span>');
4589	                  });
4590	              }, 100);
4591	         }; */
4592
4593            isFunction(callback) && callback(_el);
4594            dataListEle.appendChild(_el);
4595            // render row [e]
4596        };
4597        
4598        /* 그루밍TV */
4599        _this.renderRowVideo = function(_data, dataListEle, callbackItemClick, callback) {
4600        	var _el = cloneEle(sel('[data-ele-name="templateWrapperVideo"]', _ele.p));
4601        	var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]',        _el);
4602        	
4603        	_wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.videoDetail, _data.no, "");
4604        	
4605        	var _url = bts.url.getCdnImg(_data.mfileKey, _data.mfileNm);
4606    		sel('[data-column-name="videoImage"]',_el).src = _url;
4607    		sel('[data-column-name="videoTitle"]',_el).innerHTML = _data.title;
4608    		sel('[data-column-name="videoViewCount"]',_el).innerHTML = StringUtil.numberWithCommas(_data.hit);
4609    		
4610    		if(_data.hoursAgo >= 24){
4611        		sel('[data-column-name="videoRegDate"]', _el).innerHTML = new Date(_data.regDate).format("yyyy.MM.dd");	
4612        	}else if(_data.hoursAgo > 0){
4613        		sel('[data-column-name="videoRegDate"]', _el).innerHTML = _data.hoursAgo + "시간 전";
4614        	}else{
4615        		if(_data.minutesAgo == 0){
4616        			sel('[data-column-name="videoRegDate"]', _el).innerHTML = "방금 전";
4617        		}else{
4618        			sel('[data-column-name="videoRegDate"]', _el).innerHTML = _data.minutesAgo + "분 전";	
4619        		}
4620        	}
4621    		//sel('[data-column-name="videoOpenDate"]',_el).innerHTML = new Date(_data.openStart).format("MM.dd") + " ~ " + new Date(_data.openEnd).format("MM.dd");
4622    		
4623        	dataListEle.appendChild(_el);
4624            isFunction(callback) && callback(_el);
4625        };
4626        
4627        /* 직원리뷰 */
4628        _this.renderRowEpReview = function(_data, dataListEle, callbackItemClick, callback) {
4629        	//console.log(_data);
4630        	var _el = cloneEle(sel('[data-ele-name="templateWrapperEpReview"]', _ele.p));
4631        	var _wrapperLinkEle = sel('[data-column-name="wrapperEpReviewLink"]'		, _el);
4632        	
4633        	_wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.employeeReviewDetail, _data.no, "");
4634    		_wrapperLinkEle.onclick = function(event) {
4635                console.log('row click');
4636                var __this = this;
4637                callbackItemClick(event, __this);
4638            };
4639        	
4640            if(_data.epReviewType == "P"){
4641            	sel('[data-column-name="epNickName"]', _wrapperLinkEle).innerHTML = "‘"+_data.provName+"’" + "에서 근무한 직원";
4642            	if(_data.provLevel){
4643            		sel('[data-column-name="pDoctorLevel"]', _wrapperLinkEle).innerHTML = _data.provLevel;	
4644            	}
4645            }else{
4646            	if(_data.provName){
4647            		sel('[data-column-name="epNickName"]', _wrapperLinkEle).innerHTML = "‘"+_data.doctorName + " 원장’과 일한 직원" 
4647+ " (" + _data.provName +")";	
4648            	}else{
4649            		sel('[data-column-name="epNickName"]', _wrapperLinkEle).innerHTML = "‘"+_data.doctorName + " 원장’과 일한 직원";	
4650            	}
4651            	if(_data.doctorLevel){
4652            		sel('[data-column-name="pDoctorLevel"]', _wrapperLinkEle).innerHTML = _data.doctorLevel;	
4653            	}
4654            }
4655            
4656            	
4657        	if(_data.hoursAgo >= 24){
4658        		sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = new Date(_data.regDate).format("yy.MM.dd");	
4659        	}else if(_data.hoursAgo > 0){
4660        		sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = _data.hoursAgo + "시간 전";
4661        	}else{
4662        		if(_data.minutesAgo == 0){
4663        			sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = "방금 전";
4664        		}else{
4665        			sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = _data.minutesAgo + "분 전";	
4666        		}
4667        	}
4668
4669        	/* if(_data.bestOrderNo > 0){
4670        		showEles(sel('[data-column-name="hotIcon"]', _el));
4671        	}else{
4672        		if(bts.getData(bts.dataKeys.currEpReviewType) == "best"){
4673        			showEles(sel('[data-column-name="hotIcon"]', _el));
4674        		}else{
4675        			hideEles(sel('[data-column-name="hotIcon"]', _el));	
4676        		}
4677        	} */
4678        	
4679        	sel('[data-column-name="epTitle"]', _el).innerHTML	= _data.title;
4680        	sel('[data-column-name="goodPoint"]', _el).innerHTML	= _data.goodPoint;
4681        	sel('[data-column-name="weakPoint"]', _el).innerHTML	= _data.weakPoint;
4682        	/* sel('[data-column-name="wishingPoint"]', _el).innerHTML	= _data.wishingPoint; */
4683        	
4684        	sel('[data-column-name="likeCnt"]', _el).innerHTML	= `<span class="value">${_data.likeCnt}</span>`;
4685        	sel('[data-column-name="commentCnt"]', _el).innerHTML	= `<span class="value">${_data.commentCnt}</span>`;
4686        	sel('[data-column-name="viewCnt"]', _el).innerHTML	= `<span class="value">${_data.viewCnt}</span>`;
4687        	
4688        	dataListEle.appendChild(_el);
4689            isFunction(callback) && callback(_el);
4690        };
4691        /* 직원리뷰 */
4692        
4693        /* 빡침주의 */
4694        _this.renderRowComplainReview = function(_data, dataListEle, callbackItemClick, callback) {
4695        	var _el = cloneEle(sel('[data-ele-name="templateWrapperComplainReview"]', _ele.p));
4696        	var _wrapperLinkEle = sel('[data-column-name="wrapperComplainReviewLink"]'		, _el);
4697        	
4698        	_wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.complainReviewDetail, _data.no, "");
4699    		_wrapperLinkEle.onclick = function(event) {
4700                console.log('row click');
4701                var __this = this;
4702                callbackItemClick(event, __this);
4703            };
4704  
4705            if(_data.complainReviewType == "P"){
4706            	sel('[data-column-name="complainNickName"]', _wrapperLinkEle).innerHTML = "‘"+_data.provName+"’" + " 고객";
4707            }else{
4708            	if(_data.provName){
4709            		sel('[data-column-name="complainNickName"]', _wrapperLinkEle).innerHTML = "‘"+_data.doctorName + " 원장’ 고객" + " (" + _data.provName +")";	
4710            	}else{
4711            		sel('[data-column-name="complainNickName"]', _wrapperLinkEle).innerHTML = "‘"+_data.doctorName + " 원장’ 고객";	
4712            	}
4713            }
4714            	
4715        	if(_data.hoursAgo >= 24){
4716        		sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = new Date(_data.regDate).format("yy.MM.dd");	
4717        	}else if(_data.hoursAgo > 0){
4718        		sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = _data.hoursAgo + "시간 전";
4719        	}else{
4720        		if(_data.minutesAgo == 0){
4721        			sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = "방금 전";
4722        		}else{
4723        			sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = _data.minutesAgo + "분 전";	
4724        		}
4725        	}
4726
4727        	/* if(_data.bestOrderNo > 0){
4728        		showEles(sel('[data-column-name="hotIcon"]', _el));
4729        	}else{
4730        		if(bts.getData(bts.dataKeys.currComplainReviewType) == "best"){
4731        			showEles(sel('[data-column-name="hotIcon"]', _el));
4732        		}else{
4733        			hideEles(sel('[data-column-name="hotIcon"]', _el));	
4734        		}
4735        	} */
4736        	
4737        	sel('[data-column-name="complainTitle"]', _el).innerHTML	= _data.title;
4738        	sel('[data-column-name="complainPoint"]', _el).innerHTML	= _data.complainPoint;
4739        	sel('[data-column-name="goodPoint"]', _el).innerHTML	= _data.goodPoint;
4740        	/* sel('[data-column-name="wishingPoint"]', _el).innerHTML	= _data.wishingPoint; */
4741        	
4742        	sel('[data-column-name="likeCnt"]', _el).innerHTML	= `<span class="value">${_data.likeCnt}</span>`;
4743        	sel('[data-column-name="commentCnt"]', _el).innerHTML	= `<span class="value">${_data.commentCnt}</span>`;
4744        	sel('[data-column-name="viewCnt"]', _el).innerHTML	= `<span class="value">${_data.viewCnt}</span>`;
4745        	
4746        	dataListEle.appendChild(_el);
4747            isFunction(callback) && callback(_el);
4748        };
4749        /* 빡침주의 */
4750        
4751        /* /게시판 */
4752        _this.renderRowBoard = function(_data, dataListEle, callbackItemClick, callback) {
4753        	var _el = cloneEle(sel('[data-ele-name="templateWrapperBoard"]', _ele.p));
4754        	var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
4755        	var _touchItem = _wrapperLinkEle.parentNode;
4756        	
4757        	/* _wrapperLinkEle.onclick = function(event) {
4758                bts.isDebug() && console.log(_this.ns + '.renderRowBoard :: row click');
4759                var __this = this;
4760                isFunction(callbackCommentClick) && callbackCommentClick(event, __this);
4761            }; */
4762        	
4763        	
4764        	if(_data.hoursAgo >= 24){
4765        		sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = new Date(_data.regDate).format("yyyy.MM.dd");	
4766        	}else if(_data.hoursAgo > 0){
4767        		sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = _data.hoursAgo + "시간 전";
4768        	}else{
4769        		if(_data.minutesAgo == 0){
4770        			sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = "방금 전";
4771        		}else{
4772        			sel('[data-data_type="datetime"]', _wrapperLinkEle).innerHTML = _data.minutesAgo + "분 전";	
4773        		}
4774        	}
4775        	
4776        	if(_data.bbhsOrderNo > 0){
4777        		// showEles(sel('[data-column-name="boardHotIcon"]', _wrapperLinkEle));
4778        		$('[data-column-name="boardContents"]', _wrapperLinkEle).addClass('best');
4779        	}else{
4780        		if(bts.getData(bts.dataKeys.currBoardType) == "best"){
4781        			$('[data-column-name="boardContents"]', _wrapperLinkEle).addClass('best');
4782        		}else{
4783        			$('[data-column-name="boardContents"]', _wrapperLinkEle).removeClass('best');
4784        		}
4785        	}
4786        	
4787    		/* if(_data.likeCnt > 0){
4788    			sel('[data-column-name="likeCnt"]', _el).classList.add('on'); 
4789    		} */
4790        	sel('[data-column-name="likeCnt"]', _el).innerHTML	= `<span class="value">${_data.likeCnt}</span>`;
4791        	sel('[data-column-name="commentCnt"]', _el).innerHTML	= `<span class="value">${_data.commentCnt}</span>`;
4792        	sel('[data-column-name="viewCnt"]', _el).innerHTML	= `<span class="value">${_data.viewCnt}</span>`;
4793        	
4794        	sel('[data-column-name="boardContents"]', _wrapperLinkEle).innerHTML = _data.title ;
4795        	
4796        	var _imageEle = sel('[data-column-name="profileImage"]' , _wrapperLinkEle);
4797        	if(_data.boardTypeCd == "anon"){
4798        		sel('[data-data_key="nickName"]' , _wrapperLinkEle).innerHTML = "글쓴이";
4799        		// 이미지 지연 로딩
4800                // if (_this.isLazyTarget(dataListEle)) {
4801                //     _imageEle.dataset.backgroundImage	= 'url(/img/anonymous-writer.png)';
4802                //     _imageEle.classList.add('lazy');
4803                // } else {
4804                //     _imageEle.style.backgroundImage	= 'url(/img/anonymous-writer.png)';
4805                // }
4806                _imageEle.style.backgroundImage	= 'url(/img/anonymous-writer.png)';
4807        	}else{
4808        		sel('[data-data_key="nickName"]' , _wrapperLinkEle).innerHTML = _data.nickName;
4809	        	//if (_data.profileImgKey && _data.profileFileNm) {
4810	        	if (_data.profileFileNm) {
4811	                //var _imageEle = sel('[data-column-name="profileImage"]' , _wrapperLinkEle);
4812	                var _url = bts.url.getCdnImg('profile', _data.profileFileNm);
4813					
4814	                // 이미지 지연 로딩
4815	                // if (_this.isLazyTarget(dataListEle)) {
4816	                //     _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
4817	                //     _imageEle.classList.add('lazy');
4818	                // } else {
4819	                //     _imageEle.style.backgroundImage	= 'url(' + _url + ')';
4820	                // }
4821					_imageEle.style.backgroundImage	= 'url(' + _url + ')';
4822	            } 
4823        	}
4824        	
4825        	if (typeof _data.fileNmArry != "undefined") {
4826        		var pFileNmArry = _data.fileNmArry.split(',');
4827        		for(i=0; i<pFileNmArry.length; i++){
4828        			var _url = bts.url.getCdnImg('board', pFileNmArry[i]);
4829            		var _elImgLi = cloneEle(sel('[data-ele-name="templateWrapperBoardImg"]', _el));
4830            		sel('[data-column-name="image"]',_elImgLi).style.backgroundImage = 'url(' + _url + ')';
4831					sel('[data-column-name="image"]',_elImgLi).style.backgroundSize = "cover";
4832					sel('[data-column-name="image"]',_elImgLi).style.backgroundPosition = "center";
4833            		sel('[data-column-name="templateImg"]', _el).appendChild(_elImgLi);
4834            	}
4835        		// if(pFileNmArry.length == 5){
4836        		// 	sel('[data-column-name="templateImg"]', _el).style.width = "100%";
4837        		// }
4838        	}else{
4839        		// _touchItem.classList.add('not-file');
4840				$('[data-column-name="templateImgDiv"]', _el).hide();
4841        	}
4842        	if(_data.boardTypeCd == "anon"){
4843        		_wrapperLinkEle.onclick = function(event) {
4844                    console.log('row click');
4845                    sts.loginUrlHref(bts.seo.parseDetailPath(bts.path.boadDetail, _data.no, ""));
4846                };
4847        	}else{
4848        		_wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.boadDetail, _data.no, "");
4849        		_wrapperLinkEle.onclick = function(event) {
4850                    console.log('row click');
4851                    var __this = this;
4852                    callbackItemClick(event, __this);
4853                };
4854        	}
4855
4856        	//_wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.boadDetail, _data.no, "");
4857        	//_wrapperLinkEle.onclick = function(event) {
4858                //console.log('row click');
4859                //sts.loginUrlHref(bts.seo.parseDetailPath(bts.path.boadDetail, _data.no, ""));
4860                //var __this = this;
4861                //callbackItemClick(event, __this);
4862            //};
4863        	dataListEle.appendChild(_el);
4864            isFunction(callback) && callback(_el);
4865        };
4866        /* 게시판 /*/
4867        
4868         /* 게시판 댓글/*/
4869        _this.renderRowBoardComment = function(_data, dataListEle, callbackItemClick, callback) {
4870        	var _el = cloneEle(sel('[data-ele-name="templateWrapperBoardComment"]', _ele.p));
4871        	var _templatcomment = sel('[data-column-name="templatcomment"]'		, _el);
4872
4873        	if(_data.parentNo){
4874        		sel('[data-column-name="templateCommentItem"]', _el).classList.add('reply');
4875        	}
4876        	//if(!_data.parentNo){
4877        		showEles(sel('[data-column-name="commentCrud"]',_el));
4878        	//} 
4879        	var _imageEle = sel('[data-column-name="profileImage"]' , _el);
4880        	if(_data.boardTypeCd == "anon"){
4881        		sel('[data-data_key="nickName"]'		, _el).innerHTML = "익명";
4882        		
4883        		// if (_this.isLazyTarget(dataListEle)) {
4884                //     _imageEle.dataset.backgroundImage	= 'url(/img/anonymous-commenter.png)';
4885                //     _imageEle.classList.add('lazy');
4886                // } else {
4887                //     _imageEle.style.backgroundImage	= 'url(/img/anonymous-commenter.png)';
4888                // }
4889				_imageEle.style.backgroundImage	= 'url(/img/anonymous-commenter.png)';
4890        	}else{
4891        		sel('[data-data_key="nickName"]'		, _el).innerHTML = _data.nickName;
4892        		//if (_data.profileImgKey && _data.profileFileNm) {
4893        		if (_data.profileFileNm) {                    
4894                    var _url = bts.url.getCdnImg('profile', _data.profileFileNm);
4895    				
4896                    // 이미지 지연 로딩
4897                    // if (_this.isLazyTarget(dataListEle)) {
4898                    //     _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
4899                    //     _imageEle.classList.add('lazy');
4900                    // } else {
4901                    //     _imageEle.style.backgroundImage	= 'url(' + _url + ')';
4902                    // }
4903                    _imageEle.style.backgroundImage	= 'url(' + _url + ')';
4904                }
4905        	} 
4906        	
4907        	if(_data.hoursAgo >= 24){
4908        		sel('[data-data_type="datetime"]', _el).innerHTML = _data.regDate;
4909        	}else if(_data.hoursAgo > 0){
4910        		sel('[data-data_type="datetime"]', _el).innerHTML = _data.hoursAgo + "시간 전";
4911        	}else{
4912        		if(_data.minutesAgo == 0){
4913        			sel('[data-data_type="datetime"]', _el).innerHTML = "방금 전";
4914        		}else{
4915        			sel('[data-data_type="datetime"]', _el).innerHTML = _data.minutesAgo + "분 전";
4916        		}
4917        		
4918        	}
4919        	
4920			$('[data-ele-name="btnMore"]', _el).off().on('click', function(e) {
4921				e.preventDefault();
4922				var selectObj = [];
4923				if(__userNo == _data.userNo){
4924					selectObj = [
4925						[
4926							{'text':'삭제', 'val':'delete'},
4927						]
4928					]				
4929				} else {
4930					selectObj = [
4931						[
4932							{'text':'신고하기', 'val':'report'},
4933						]
4934					]				
4935				}
4936				selectSingleModal.init(
4937					selectObj
4938					,function(selectVal){
4939						if(selectVal[0] == 'delete'){
4940							if(!bts.requiredLoginModal()) {
4941								return false;
4942							}
4943							deleteBoardCommentModal.init(_data.boardCommentNo);
4944						}else if(selectVal[0] == 'report'){
4945							if(!bts.requiredLoginModal()) {
4946								return false;
4947							}
4948							reportModal.init(_data.boardCommentNo);
4949						}
4950					}
4951				);
4952			});
4953        	
4954			// 신고하기 하단팝업
4955			$('.board-siren-img', _el).off().on('click',function(e){
4956				e.preventDefault();
4957				// console.log(">>>>board-siren-img........");
4958				// $('.impleSlidingBtmMd').addClass('on');
4959				// $('body').append('<div class="modal-backdrop fade show"></div>');
4960				var selectObj = [];
4961				selectObj = [
4962					[
4963						{'text':'리뷰 신고', 'val':'report'},
4964						{'text':'회원 차단', 'val':'memberBlock'},
4965					]
4966				];
4967				selectSingleModal.init(
4968					selectObj
4969					,function(selectVal){
4970						if(selectVal[0] == 'report'){
4971							reportUserModal.init(_data.boardCommentNo);
4972						}else if(selectVal[0] == 'memberBlock'){
4973							bts.toast("차단되었습니다.");
4974						}
4975					}
4976				);
4977			});
4978
4979			sel('[data-data_type="datetime"]', _el).innerHTML = _data.regDate;
4980
4981        	// var _deleteCommentModal = sel('[data-ele-name="deleteCommentModal"]', _el);
4982        	// _deleteCommentModal.onclick = function (event) {
4983        	// 	event.preventDefault();
4984        		
4985        	// 	if(!bts.requiredLoginModal()) {
4986        	// 	    return false;
4987        	// 	}
4988        	// 	deleteBoardCommentModal.init(_data.boardCommentNo);
4989            // };
4990        	// var _reportModal = sel('[data-ele-name="reportModal"]', _el);
4991        	// _reportModal.onclick = function (event) {
4992        	// 	event.preventDefault();
4993        		
4994        	// 	if(!bts.requiredLoginModal()) {
4995        	// 	    return false;
4996        	// 	}
4997        	// 	reportModal.init(_data.boardCommentNo);
4998            // };
4999            // if(__userNo == _data.userNo){
5000            // 	showEles(_deleteCommentModal);
5001            // 	hideEles(_reportModal);
5002            // }else{
5003            // 	hideEles(_deleteCommentModal);
5004            // 	showEles(_reportModal);
5005            // }
5006        	
5007        	$('[data-column-name="commentCrud"]', _el).off().on('click', function(event) {
5008        		if(!bts.requiredLoginModal()) {
5009					bts.setData(bts.dataKeys.cachedModalYn, bts.consts.yn.y); //[개선] 비회원 시 견적/이벤트신청/리뷰 작성 플로우
5010					return false;
5011				}
5012        		$('[data-column-name="commentContentsText"]').text("");
5013        		$("#parentNo").val(_data.no);
5014        		$("#parentName").val(_data.nickName);
5015        		$("#tagUserNo").val(_data.userNo);
5016
5017        		if(_data.boardTypeCd == "anon"){
5018        			$('[data-column-name="commentContentsText"]').val("@익명 ");
5019        		}else{
5020        			$('[data-column-name="commentContentsText"]').val("@"+$("#parentName").val()+" ");
5021        		}
5022        		var len = $('[data-column-name="commentContentsText"]').val().length;
5023        		$('[data-column-name="commentContentsText"]').focus();
5024        		$('[data-column-name="commentContentsText"]')[0].setSelectionRange(len, len);
5025
5026        	});
5027
5028        	sel('[data-column-name="commentContents"]', _el).innerHTML = _data.contents;
5029        	dataListEle.appendChild(_el);
5030            isFunction(callback) && callback(_el);
5031        };
5032        /* 게시판 댓글/*/
5033        
5034        
5035        /* 직원리뷰 댓글/*/
5036        _this.renderRowEpReviewComment = function(_data, dataListEle, callbackItemClick, callback) {
5037        	var _el = cloneEle(sel('[data-ele-name="templateWrapperEpReviewComment"]', _ele.p));
5038        	var _templatcomment = sel('[data-column-name="templatcomment"]'		, _el);
5039        	if(_data.parentNo){
5040        		sel('[data-column-name="templateCommentItem"]', _el).classList.add('reply');
5041        	}
5042        	//if(!_data.parentNo){
5043        		showEles(sel('[data-column-name="commentCrud"]',_el));
5044        	//} 
5045        	var _imageEle = sel('[data-column-name="profileImage"]' , _el);
5046        	//if(_data.boardTypeCd == "anon"){
5047        		sel('[data-data_key="nickName"]'		, _el).innerHTML = "익명";
5048        		
5049        		if (_this.isLazyTarget(dataListEle)) {
5050                    _imageEle.dataset.backgroundImage	= 'url(/img/anonymous-commenter.png)';
5051                    _imageEle.classList.add('lazy');
5052                } else {
5053                    _imageEle.style.backgroundImage	= 'url(/img/anonymous-commenter.png)';
5054                }
5055        	/* }else{
5056        		sel('[data-data_key="nickName"]'		, _el).innerHTML = _data.nickName;
5057        		if (_data.profileImgKey && _data.profileFileNm) {
5058                    
5059                    var _url = bts.url.getCdnImg('profile', _data.profileFileNm);
5060    				
5061                    // 이미지 지연 로딩
5062                    if (_this.isLazyTarget(dataListEle)) {
5063                        _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
5064                        _imageEle.classList.add('lazy');
5065                    } else {
5066                        _imageEle.style.backgroundImage	= 'url(' + _url + ')';
5067                    }
5068                }
5069        	} */ 
5070        	
5071        	if(_data.hoursAgo >= 24){
5072        		sel('[data-data_type="datetime"]', _el).innerHTML = new Date(_data.regDate).format("yy.MM.dd");
5073        	}else if(_data.hoursAgo > 0){
5074        		sel('[data-data_type="datetime"]', _el).innerHTML = _data.hoursAgo + "시간 전";
5075        	}else{
5076        		if(_data.minutesAgo == 0){
5077        			sel('[data-data_type="datetime"]', _el).innerHTML = "방금 전";
5078        		}else{
5079        			sel('[data-data_type="datetime"]', _el).innerHTML = _data.minutesAgo + "분 전";
5080        		}
5081        		
5082        	}
5083        	//console.log(_data);
5084        	//sel('[data-data_type="datetime"]', _el).innerHTML = _data.regDate;
5085        	var _deleteCommentModal = sel('[data-ele-name="deleteCommentModal"]', _el);
5086        	_deleteCommentModal.onclick = function (event) {
5087        		event.preventDefault();
5088        		
5089        		if(!bts.requiredLoginModal()) {
5090        		    return false;
5091        		}
5092        		deleteEpReviewModal.init(_data.no);
5093            };
5094            
5095        	var _reportModal = sel('[data-ele-name="reportModal"]', _el);
5096        	_reportModal.onclick = function (event) {
5097        		event.preventDefault();
5098        		
5099        		if(!bts.requiredLoginModal()) {
5100        		    return false;
5101        		}
5102        		reportModal.init(_data.no);
5103            };
5104            if(__userNo == _data.userNo){
5105            	showEles(_deleteCommentModal);
5106            	hideEles(_reportModal);
5107            }else{
5108            	hideEles(_deleteCommentModal);
5109            	showEles(_reportModal);
5110            }
5111        	
5112        	sel('[data-column-name="commentCrud"]', _el).onclick = function(event) {
5113        		if(!bts.requiredLoginModal()) {
5114					bts.setData(bts.dataKeys.cachedModalYn, bts.consts.yn.y); //[개선] 비회원 시 견적/이벤트신청/리뷰 작성 플로우
5115					return false;
5116				}
5117        		$('[data-column-name="commentContentsText"]').text("");
5118        		$("#parentNo").val(_data.no);
5119        		$("#parentName").val(_data.nickName);
5120        		$("#tagUserNo").val(_data.userNo);
5121        		
5122        		//if(_data.boardTypeCd == "anon"){
5123        			$('[data-column-name="commentContentsText"]').val("@익명 ");
5124        		/* }else{
5125        			$('[data-column-name="commentContentsText"]').val("@"+$("#parentName").val()+" ");
5126        		} */
5127        		var len = $('[data-column-name="commentContentsText"]').val().length;
5128        		$('[data-column-name="commentContentsText"]').focus();
5129        		$('[data-column-name="commentContentsText"]')[0].setSelectionRange(len, len);
5130
5131        	}; 
5132        	sel('[data-column-name="commentContents"]', _el).innerHTML = _data.contents;
5133        	dataListEle.appendChild(_el);
5134            isFunction(callback) && callback(_el);
5135        };
5136        /* 직원리뷰 댓글/*/
5137        
5138        /* 빡침주의 댓글/*/
5139        _this.renderRowComplainReviewComment = function(_data, dataListEle, callbackItemClick, callback) {
5140        	console.log(_data);
5141        	var _el = cloneEle(sel('[data-ele-name="templateWrapperEpReviewComment"]', _ele.p));
5142        	var _reportModal = sel('[data-ele-name="reportModal"]', _el);
5143        	var _templatcomment = sel('[data-column-name="templatcomment"]'		, _el);
5144        	var _imageEle = sel('[data-column-name="profileImage"]' , _el);
5145        	
5146        	if(_data.parentNo){
5147        		sel('[data-column-name="templateCommentItem"]', _el).classList.add('reply');
5148        	}
5149        	if(_data.complainReviewType != "M"){
5150        		showEles(sel('[data-column-name="commentCrud"]',_el));
5151        		sel('[data-data_key="nickName"]'		, _el).innerHTML = "익명";
5152        		
5153        		if (_this.isLazyTarget(dataListEle)) {
5154                    _imageEle.dataset.backgroundImage	= 'url(/img/anonymous-commenter.png)';
5155                    _imageEle.classList.add('lazy');
5156                } else {
5157                    _imageEle.style.backgroundImage	= 'url(/img/anonymous-commenter.png)';
5158                }
5159        	}else{
5160        		_el.classList.add('admin');
5161        		sel('[data-data_key="nickName"]'		, _el).innerHTML = "병원담당자";
5162        		hideEles(_reportModal);
5163        		
5164        		if (_data.profileImgKey && _data.profileFileNm) {
5165        			var _url = bts.url.getCdnImg(_data.profileImgKey, _data.profileFileNm);
5166        			
5167        			if (_this.isLazyTarget(dataListEle)) {
5168                        _imageEle.dataset.backgroundImage	= 'url(' + _url + ')';
5169                        _imageEle.classList.add('lazy');
5170                    } else {
5171                        _imageEle.style.backgroundImage	= 'url(' + _url + ')';
5172                    }
5173        		};
5174        	}
5175        	
5176       		
5177       		
5178        	
5179        	if(_data.hoursAgo >= 24){
5180        		//sel('[data-data_type="datetime"]', _el).innerHTML = _data.regDate;	
5181        		sel('[data-data_type="datetime"]', _el).innerHTML = new Date(_data.regDate).format("yy.MM.dd");	
5182        	}else if(_data.hoursAgo > 0){
5183        		sel('[data-data_type="datetime"]', _el).innerHTML = _data.hoursAgo + "hour ago"; //시간 전
5184        	}else{
5185        		if(_data.minutesAgo == 0){
5186        			sel('[data-data_type="datetime"]', _el).innerHTML = "a few seconds ago"; //방금 전
5187        		}else{
5188        			sel('[data-data_type="datetime"]', _el).innerHTML = _data.minutesAgo + "minute ago"; //분 전
5189        		}
5190        		
5191        	}
5192
5193        	var _deleteCommentModal = sel('[data-ele-name="deleteCommentModal"]', _el);
5194        	_deleteCommentModal.onclick = function (event) {
5195        		event.preventDefault();
5196        		
5197        		if(!bts.requiredLoginModal()) {
5198        		    return false;
5199        		}
5200        		deleteCpReviewModal.init(_data.no);
5201            };
5202            
5203        	var _reportModal = sel('[data-ele-name="reportModal"]', _el);
5204        	_reportModal.onclick = function (event) {
5205        		event.preventDefault();
5206        		
5207        		if(!bts.requiredLoginModal()) {
5208        		    return false;
5209        		}
5210        		reportModal.init(_data.no);
5211            };
5212            if(__userNo == _data.userNo){
5213            	showEles(_deleteCommentModal);
5214            	hideEles(_reportModal);
5215            }else{
5216            	hideEles(_deleteCommentModal);
5217            	showEles(_reportModal);
5218            }
5219        	
5220        	/* _reportModal.onclick = function (event) {
5221        		event.preventDefault();
5222        		
5223        		if(!bts.requiredLoginModal()) {
5224        		    return false;
5225        		}
5226        		reportModal.init(_data.no);
5227            };
5228            if(__userNo == _data.userNo){
5229            	hideEles(_reportModal);
5230            } */
5231        	
5232        	sel('[data-column-name="commentCrud"]', _el).onclick = function(event) {
5233        		if(!bts.requiredLoginModal()) {
5234					bts.setData(bts.dataKeys.cachedModalYn, bts.consts.yn.y); //[개선] 비회원 시 견적/이벤트신청/리뷰 작성 플로우
5235					return false;
5236				}
5237        		$('[data-column-name="commentContentsText"]').text("");
5238        		$("#parentNo").val(_data.no);
5239        		$("#parentName").val(_data.nickName);
5240        		$("#tagUserNo").val(_data.userNo);
5241        		
5242        		//if(_data.boardTypeCd == "anon"){
5243        			$('[data-column-name="commentContentsText"]').val("@익명 ");
5244        		/* }else{
5245        			$('[data-column-name="commentContentsText"]').val("@"+$("#parentName").val()+" ");
5246        		} */
5247        		var len = $('[data-column-name="commentContentsText"]').val().length;
5248        		$('[data-column-name="commentContentsText"]').focus();
5249        		$('[data-column-name="commentContentsText"]')[0].setSelectionRange(len, len);
5250
5251        	}; 
5252        	sel('[data-column-name="commentContents"]', _el).innerHTML = _data.contents;
5253        	dataListEle.appendChild(_el);
5254            isFunction(callback) && callback(_el);
5255        };
5256        /* 빡침주의 댓글/*/
5257        
5258        /* /마이 페이지 게시판 */
5259        _this.renderRowMyBoard = function(_data, dataListEle, callbackItemClick, callback) {
5260        	var _el = cloneEle(sel('[data-ele-name="templateWrapperMyBoard"]', _ele.p));
5261        	var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
5262        	var _wrapperLinkSecondEle = sel('[data-column-name="wrapperLinkSecond"]', _el);
5263        	
5264        	_wrapperLinkEle.onclick = function(event) {
5265                bts.isDebug() && console.log(_this.ns + '.renderRowBoard :: row click');
5266                var __this = this;
5267                // isFunction(callbackCommentClick) && callbackCommentClick(event, __this);
5268            };
5269            _wrapperLinkSecondEle.onclick = function(event) {
5270                bts.isDebug() && console.log(_this.ns + '.renderRowBoard :: row click');
5271                var __this = this;
5272                isFunction(callbackCommentClick) && callbackCommentClick(event, __this);
5273            };
5274            _wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.boadDetail, _data.no, "");
5275            _wrapperLinkSecondEle.href = bts.seo.parseDetailPath(bts.path.boadDetail, _data.no, "");
5276            sel('[data-data_type="datetime"]', _el).innerHTML = new Date(_data.regDate).format("yyyy.MM.dd");
5277            sel('[data-column-name="likeCnt"]', _el).innerHTML	= `<span class="value">${_data.likeCnt}</span>`;
5278        	sel('[data-column-name="commentCnt"]', _el).innerHTML	= `<span class="value">${_data.commentCnt}</span>`;
5279        	sel('[data-column-name="boardContents"]', _el).innerHTML = _data.title;
5280            if (typeof _data.fileNmArry != "undefined") {
5281        		var pFileNmArry = _data.fileNmArry.split(',');
5282        		for(i=0; i<pFileNmArry.length; i++){
5283        			var _url = bts.url.getCdnImg('board', pFileNmArry[i]);
5284            		var _elImgLi = cloneEle(sel('[data-ele-name="templateWrapperBoardImg"]', _el));
5285            		sel('[data-column-name="image"]',_elImgLi).style.backgroundImage = "url(" + _url + ")";
5286            		sel('[data-column-name="templateImg"]', _el).appendChild(_elImgLi);
5287            	}
5288        	}
5289            sel('[data-column-name="deleteBt"]', _el).onclick = function(event) {
5290            	bts.confirm("게시글을 삭제하시겠습니까?", function() {
5291					reqBoardDelete(_data.no, function () {
5292						location.reload();
5293                    }); 
5294                }, function() {
5295                }, "알림", "삭제", "취소");
5296            }
5297        	
5298        	dataListEle.appendChild(_el);
5299            isFunction(callback) && callback(_el);
5300        };
5301        /* 마이 페이지  게시판 /*/
5302        
5303        
5304        
5305        /* /마이 페이지 댓글 */
5306        _this.renderRowMyComment = function(_data, dataListEle, callbackItemClick, callback) {
5307        	var _el = cloneEle(sel('[data-ele-name="templateWrapperMyComment"]', _ele.p));
5308        	var _wrapperLinkEle = sel('[data-column-name="wrapperLink"]'		, _el);
5309
5310        	_wrapperLinkEle.onclick = function(event) {
5311                bts.isDebug() && console.log(_this.ns + '.renderRowBoard :: row click');
5312                var __this = this;
5313                // isFunction(callbackCommentClick) && callbackCommentClick(event, __this);
5314            };
5315           
5316            _wrapperLinkEle.href = bts.seo.parseDetailPath(bts.path.boadDetail, _data.boardNo, "");
5317            sel('[data-data_type="datetime"]', _el).innerHTML = new Date(_data.regDate).format("yyyy.MM.dd");
5318            sel('[data-column-name="boardContents"]', _el).innerHTML =_data.contents;
5319            sel('[data-column-name="deleteBt"]', _el).onclick = function(event) {
5320            	bts.confirm(bts.text.common_msg_do_you_want_to_delete, function() {
5321            		reqBoardCommentDelete(_data.boardCommentNo, function () {
5322						location.reload();
5323                    });  
5324                }, function() {
5325                }, "알림", "삭제", "취소");
5326            }
5327        	
5328        	dataListEle.appendChild(_el);
5329            isFunction(callback) && callback(_el);
5330        };
5331        /* 마이 페이지  댓글 /*/
5332        
5333      	var reqBoardDelete = function (boardNo, returnFnc, errorFnc) {
5334		    var params = {boardNo: boardNo};
5335			ajax({
5336				url: bts.url.getRapi() + "/board/delete",
5337				type: 'post',
5338				data: params,
5339				alertManual: true,
5340				success: function(res){
5341					var body = res.body;
5342					returnFnc(res);
5343				}, error: function(e) {
5344
5345					isFunction(errorFnc) && errorFnc(e);
5346					bts.err(ns + '.svc.reqReview :: ', e);
5347				}
5348			});
5349        };
5350        var reqBoardCommentDelete = function (boardCommentNo, returnFnc, errorFnc) {
5351		    var params = {boardCommentNo: boardCommentNo};
5352			ajax({
5353				url: bts.url.getRapi() + "/board/comment/delete",
5354				type: 'post',
5355				data: params,
5356				alertManual: true,
5357				success: function(res){
5358					var body = res.body;
5359					returnFnc(res);
5360				}, error: function(e) {
5361
5362					isFunction(errorFnc) && errorFnc(e);
5363					bts.err(ns + '.svc.reqReview :: ', e);
5364				}
5365			});
5366        };
5367        
5368        
5369        return _this;
5370    }; return new ListItems;})();
5371	/*]]>*/
5372	</script>
5372
5373
5374	
5375<div data-ele-name="templateWrapperDetailItems" style="display: none">
5376	<div data-ele-name="templateWrapperMoreToggleBtn">
5377		<!--<a href="#" data-toggle="folding">
5378			<span th:data-text-folding="#{common.msg.folding}" th:data-text-more="#{common.msg.more}"
5379					data-column-name="foldState"
5380					th:text="#{common.msg.more}">
5381			</span> <i class="xi-angle-down"></i>
5382		</a>-->
5383		<a href="#" data-toggle="folding" data-line="2">
5384			<p class="box-shadow"></p><span data-text-folding="Fold" data-text-more="More"
5385					data-column-name="foldState">More</span>
5386		</a>
5387	</div>
5388</div>
5389<script>
5390	/*<![CDATA[*/
5391	var detailItems = (function() {
5392		
5393		var ns = 'detailItems';
5394
5395		var _pEle = sel('[data-ele-name="templateWrapperDetailItems"]');
5396		var _di = {
5397			el: {
5398				 p: _pEle
5399				,moreToggleBtn: sel('[data-ele-name="templateWrapperMoreToggleBtn"]', _pEle)
5400				,_end: null
5401			}
5402		};
5403		
5404		var init = function() {
5405		};
5406		init();
5407		_di.getMoreToggleBtn = function(line) {
5408			var btn = cloneEle(_di.el.moreToggleBtn);
5409			btn.dataset.line = line;
5410			return btn;
5411		};
5412		return _di;
5413	})();
5414	/*]]>*/
5415</script>
5415
5416
5417	
5418    <!-- container -->
5419    <!-- <div id="ct"> -->
5420
5421		<!-- 페이지 시작 -->
5422		<div id="contents" style="display: none">
5423	<div class="container">
5424	<input type="hidden" name="main_pg" value="1"/>
5425	<input type="hidden" name="main_limit" value="10"/>
5426	<input type="hidden" name="main_ordrBy" value=""/>
5427	
5428    <!-- S : 스킨케어 -->
5429    <section class="view-skincare">
5430    	    
5431    <section class="view-skincare" data-ele-name="eventBannerWrapper">
5432    	<div class="view">
5433	        <div class="swiper-container view-swiper bnr-board">
5434	            <ul class="swiper-wrapper" data-ele-name="eventBannerList">
5435	            </ul>
5436	            <div class="swiper-pagination swiper-pagination-view"></div>
5437	        </div>
5438        </div>
5439    </section>
5440    <section data-ele-name="templateEventBannerWrapper" style="display: none">
5441    	<ul class="swiper-wrapper" data-ele-name="templateeventBannerList">
5442    		<li class="swiper-slide"><a data-column-name="templateeventBannerTagA" class="view-img" href="/img/_temp/slide1.jpg" style="background-image:url(/img/_temp/slide1.jpg)"><img data-column-name="templateeventBannerTagImg" src="/img/_temp/slide1.jpg" alt=""></a></li>
5443        </ul>
5444    </section>
5445	
5445<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.0/js/swiper.min.js"></script>
5445
5446	
5446<script>
5447	/*<![CDATA[*/
5448		var subBanner = (function() {
5449			var subBannerInit = function() {
5450				getListBanner(function(bannerBody){
5451					viewEventBannerList(bannerBody);
5452					// 뷰어슬라이드
5453					new Swiper('.view-swiper', {
5454		                loop: true,
5455						autoplay: {
5456							delay: bts.set.mainSwiperDelay,
5457						},
5458		                pagination: {
5459		                    el: '.swiper-pagination-view',
5460		                    clickable:true
5461		                },
5462		            });
5463				});
5464			};
5465			
5466			var viewEventBannerList = function(result) {
5467				if(result.body.bannerlist.length > 0) {
5468					result.body.bannerlist.forEach(function (item) {
5469						var _url = bts.url.getCdnImg(item.viewImg.fileKey, item.viewImg.fileNm);
5470						var _el = cloneEle(sel('[data-ele-name="templateeventBannerList"]','[data-ele-name="templateEventBannerWrapper"]'));
5471						sel('[data-column-name="templateeventBannerTagA"]', _el).style.backgroundImage	= 'url(' + _url + ')';
5472						sel('[data-column-name="templateeventBannerTagA"]', _el).href = item.viewLink;
5473						sel('[data-column-name="templateeventBannerTagImg"]', _el).src = _url;
5474						sel('[data-ele-name="eventBannerList"]').appendChild(_el);
5475					});
5476				}
5477			}
5478			
5479			var getListBanner = function(callback) {
5480				var data = {
5481					bannerLocation: "S"
5482				};
5483		        ajax({
5484		            url: bts.url.getAapi() + '/banner/getBannerList',
5485		            data: data,
5486		            overlayManual: true,
5487		            success: function(body) {
5488		                callback(body);
5489		            }, error: function(e) {
5490		                overlay.off();
5491		            }
5492		        });
5493		    };
5494		    subBannerInit();
5495		})();
5496	/*]]>*/
5497	</script>
5497
5498
5499        <div class="position-relative">
5500            <html>
5501	<div class="view-tab swiper-view-tab">
5502	    <nav class="slide-ui">
5503			<div class="swiper-container slide-1depth">
5504				<ul class="swiper-wrapper width-fix" data-ele-name="tabTypeList">
5505				</ul>
5506			</div>
5507		</nav>
5508	</div>
5509	<ul class="view-tab nav" data-ele-name="templateWrapperTabItem" style="display: none">
5510		<li class="swiper-slide"><a href="javascript:void(0)" class="active" data-column-name="selectLink">loading...</a></li>
5511	</ul>
5512	
5512<script>
5513		/*<![CDATA[*/
5514		var viewTabProduct = (function() {
5515			var ns = 'viewTabStore';
5516			
5517			var selectItem = function(parentElement, selectedEl) {
5518				if(selectedEl == null){
5519					selectedEl = sel('[data-tab-type=""]', parentElement);
5520				}
5521				
5522				selAll('li', parentElement).forEach(function(_ele, idx){
5523					sel('a', _ele).classList.remove('active');
5524				});
5525				sel('a', selectedEl) && sel('a', selectedEl).classList.add('active');
5526			};
5527			
5528			var _renderTabList = function(datas, callback) {
5529				var _listEle = sel('[data-ele-name="tabTypeList"]');
5530				
5531				_listEle.innerHTML = '';
5532				
5533				var _selectedLi = null;
5534				var _oldTabType = bts.getData(bts.dataKeys.currProductType);
5535				
5536				datas.forEach(function(item){
5537					
5538					var _li = cloneEle(sel('[data-ele-name="templateWrapperTabItem"]'));
5539					_li.dataset.tabType = item[0];
5540					
5541					sel('[data-column-name="selectLink"]', _li).innerHTML = item[1];
5542					sel('[data-column-name="selectLink"]', _li).onclick = function(e) {
5543						var _p = this.parentElement;
5544			 			var _oldTabType = bts.getData(bts.dataKeys.currProductType);
5545			 			var _currTabType = _p.dataset.tabType;
5546			 			
5547			 			if (_oldTabType == _currTabType) {
5548			 				return false;
5549			 			}
5550						bts.setData(bts.dataKeys.currProductType, _currTabType);
5551						
5552						//초기화
5553						subCategoryProduct.setCurrProductPurpose();
5554						
5555						selectItem(_listEle, _p);
5556						
5557			 			MainChild.sendMsg('pgInit');
5558						MainChild.sendMsg('render');
5559					};
5560					
5561					if (_oldTabType == item[0]) {
5562						
5563						_selectedLi = _li;
5564					}
5565					
5566					_listEle.append(_li);
5567				});
5568	
5569				selectItem(_listEle, _selectedLi);
5570				
5571				callback();
5572			};
5573			
5574			var storeTypeNavSwiper = null;
5575			var _viewTab = {};
5576			_viewTab.init = function() {
5577				_renderTabList([
5578					  ['', bts.text.word_surgicalTypeA]
5579					, [bts.consts.productType.skin, bts.text.word_productTypeSkin]
5580					, [bts.consts.productType.hue, bts.text.word_productTypeHue]
5581					, [bts.consts.productType.teeth, bts.text.word_productTypeTeeth]
5582					, [bts.consts.productType.hair, bts.text.word_productTypeHair]
5583					/* , [bts.consts.productType.body, bts.text.word_productTypeBody] */
5584				], function(){
5585					storeTypeNavSwiper = new Swiper('.slide-1depth', {
5586		                slidesPerView: 'auto',
5587		                spaceBetween: 35,
5588		                freeMode: true
5589		            });
5590				});
5591			};
5592			return _viewTab;
5593		})();
5594		
5595		/*]]>*/
5596	</script>
5596
5597</html>
5598            <div class="tab-content">
5599                <!-- 전체 -->
5600                <div id="viewTab" class="tab-pane active">
5601                    <!-- <h3 class="sr-only">전체</h3> -->
5602                    <div class="view-body">
5603                        <div class="view-sect-full">
5604                            
5605	<nav class="nav-category2 swiper-container" data-ele-name="categoryWrapper" style="padding: 32px 16px 12px;">
5606		<ul class="swiper-wrapper" data-ele-name="purposeList" style="display: none">
5607		</ul>
5608	</nav>
5609	<nav data-ele-name="templateCategoryWrapper" style="display: none">
5610		<ul class="swiper-wrapper" data-ele-name="templateWrapperTxItem" style="display: none">
5611			<li class="swiper-slide"><i class="hex"></i><a href="javascript:void(0)" data-column-name="selectLink">loading...</a></li>
5612		</ul>
5613		<ul class="swiper-wrapper" data-ele-name="templateWrapperTxItemAll" style="display: none">
5614			<li class="swiper-slide no-puopose"><i class="hex"></i><a href="javascript:void(0)" data-column-name="selectLink">All</a></li>
5615		</ul>
5616	</nav>
5617	
5617<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.0/js/swiper.min.js"></script>
5617
5618	
5618<script>
5619		var subCategoryProduct = (function() {
5620			var ns = 'subCategoryProduct';
5621			var status = {
5622				currProductPurpose: '',
5623				ProductPurposes: undefined
5624			};
5625			var getTargetProductPurposes = function() {
5626				if (!status.ProductPurposes){
5627					bts.err(ns + '.getTargetProductPurposes :: status.ProductPurposes is null', status.ProductPurposes);
5628				}
5629				return status.ProductPurposes;
5630			};
5631			var setCurrProductPurpose = function (ProductPurposeCd) {
5632				if (isList(ProductPurposeCd)) {
5633					if (isEmptyList(ProductPurposeCd)) {
5634						status.currProductPurpose = undefined;
5635					} else {
5636						status.currProductPurpose = ProductPurposeCd[0];
5637					}
5638					bts.setListData(bts.dataKeys.selProductPurposes, ProductPurposeCd);
5639					return;
5640				}
5641				status.currProductPurpose = ProductPurposeCd;
5642				if (isEmptyList(ProductPurposeCd)) {
5643					bts.setListData(bts.dataKeys.selProductPurposes, []);
5644				} else {
5645					bts.setListData(bts.dataKeys.selProductPurposes, [status.currProductPurpose]);
5646				}
5647			};
5648
5649			var _pEle = sel('[data-ele-name="categoryWrapper"]');
5650			var _pEle2 = sel('[data-ele-name="templateCategoryWrapper"]');
5651			
5652			/**
5653			 * 시술 부위 선택
5654			 */
5655			var selectSite = function(parentElement, selectedEl) {
5656				selAll('li', parentElement).forEach(function(_ele, idx){
5657					_ele.classList.remove('active');
5658				});
5659				selectedEl && selectedEl.classList.add('active');
5660			};
5661
5662			var _renderPurposeList = function(callback) {
5663				var _listEle = sel('[data-ele-name="purposeList"]', _pEle);
5664				_listEle.innerHTML = '';
5665
5666				var _selectedLi = null;
5667				var _currSelProductPurposes = bts.getsSelectedProductPurpose();
5668				var _liAll = cloneEle(sel('[data-ele-name="templateWrapperTxItemAll"]', _pEle2));
5669				
5670				//초기화
5671				//setCurrProductPurpose([]);
5672				
5673				//addClass(sel('i', _liAll), getClassNm());
5674				sel('[data-column-name="selectLink"]', _liAll).onclick = function(e) {
5675					//bts.isDebug() && console.log(ns + ' :: _renderPurposeList all select', e, this);
5676					
5677					if (isEmptyList(bts.getsSelectedProductPurpose())) {
5678						return false;
5679					}
5680					
5681					MainChild.sendMsg('pgInit');
5682
5683					setCurrProductPurpose([]);
5684
5685					selectSite(_listEle, this.parentElement);
5686					
5687					MainChild.sendMsg('render');
5688				};
5689				
5690				_listEle.append(_liAll);	
5691
5692				getTargetProductPurposes().forEach(function(item){
5693					if(bts.getData(bts.dataKeys.currProductType) != ""){
5694						if(item.productTypeCd == bts.getData(bts.dataKeys.currProductType)){
5695							var _li = cloneEle(sel('[data-ele-name="templateWrapperTxItem"]', _pEle2));
5696							_li.dataset.ProductPurposeCd = item.productPurposeCd;
5697	
5698							sel('[data-column-name="selectLink"]', _li).innerHTML = item.purposeNm;
5699							//addClass(sel('i', _li), getClassNm(item.txPartCd));
5700							sel('[data-column-name="selectLink"]', _li).onclick = function(e) {
5701								// bts.isDebug() && console.log(ns + '.renderTxList select', e, this);
5702	
5703					 			MainChild.sendMsg('pgInit');
5704	
5705								var _p = this.parentElement;
5706					 			var _selProductPurposes = bts.getsSelectedProductPurpose();
5707					 			var _currTxPartCd = _p.dataset.ProductPurposeCd;
5708	
5709					 			if (_selProductPurposes.includes(_currTxPartCd)) {
5710					 				_selProductPurposes = deleteSetItem(_selProductPurposes, _currTxPartCd); //현재 선택된 아이템을 해제
5711					 			} else {
5712					 				_selProductPurposes = addSetItem([], _currTxPartCd);
5713					 			}
5714					 			setCurrProductPurpose(_selProductPurposes);
5715	
5716					 			if (isEmptyList(_selProductPurposes)) {
5717									selectSite(_listEle, _liAll);
5718					 			} else {
5719									selectSite(_listEle, _p);
5720					 			}
5721	
5722								MainChild.sendMsg('render');
5723							};
5724							
5725							if (_currSelProductPurposes.includes(item.productPurposeCd)) {
5726								
5727								_selectedLi = _li;
5728							}
5729							
5730							_listEle.append(_li);
5731						}
5732					}else{
5733						var _li = cloneEle(sel('[data-ele-name="templateWrapperTxItem"]', _pEle2));
5734						_li.dataset.ProductPurposeCd = item.productPurposeCd;
5735
5736						sel('[data-column-name="selectLink"]', _li).innerHTML = item.purposeNm;
5737						//addClass(sel('i', _li), getClassNm(item.txPartCd));
5738						sel('[data-column-name="selectLink"]', _li).onclick = function(e) {
5739							// bts.isDebug() && console.log(ns + '.renderTxList select', e, this);
5740
5741				 			MainChild.sendMsg('pgInit');
5742
5743							var _p = this.parentElement;
5744				 			var _selProductPurposes = bts.getsSelectedProductPurpose();
5745				 			var _currTxPartCd = _p.dataset.ProductPurposeCd;
5746
5747				 			if (_selProductPurposes.includes(_currTxPartCd)) {
5748				 				_selProductPurposes = deleteSetItem(_selProductPurposes, _currTxPartCd); //현재 선택된 아이템을 해제
5749				 			} else {
5750				 				_selProductPurposes = addSetItem([], _currTxPartCd);
5751				 			}
5752				 			setCurrProductPurpose(_selProductPurposes);
5753
5754				 			if (isEmptyList(_selProductPurposes)) {
5755								selectSite(_listEle, _liAll);
5756				 			} else {
5757								selectSite(_listEle, _p);
5758				 			}
5759
5760							MainChild.sendMsg('render');
5761						};
5762						
5763						if (_currSelProductPurposes.includes(item.productPurposeCd)) {
5764							
5765							_selectedLi = _li;
5766						}
5767						
5768						_listEle.append(_li);
5769					}
5770					
5771				});
5772				if (isEmptyList(_currSelProductPurposes)) {
5773					_selectedLi = _liAll;
5774				}
5775				selectSite(_listEle, _selectedLi);
5776				
5777				callback();
5778			};
5779			var storePurposeNavSwiper = null;
5780			var _subCategory = {};
5781			_subCategory.init = function() {
5782				setCurrProductPurpose(bts.getsSelectedProductPurpose());
5783				bts.getsCdProductPurpose(function(datas) {
5784					status.ProductPurposes = datas;
5785
5786					_renderPurposeList(function(){
5787						if(storePurposeNavSwiper != null) storePurposeNavSwiper.destroy();
5788						storePurposeNavSwiper = new Swiper('[data-ele-name="categoryWrapper"].nav
5788-category2', {
5789						    slidesPerView: 'auto',
5790						    spaceBetween: 24,
5791						    freeMode: true
5792						});
5793					});
5794				});
5795			};
5796			
5797			_subCategory.setCurrProductPurpose = function(ProductPurposeCd){
5798				setCurrProductPurpose(ProductPurposeCd);
5799			};
5800			
5801			return _subCategory;
5802		})();
5803		
5804		/*]]>*/
5805	</script>
5805
5806
5807                            <div class="view-sect pt-0 noline">
5808                                <div class="sort-filter clearfix">
5809                                    
5810<div class="float-left sh-label" data-ele-name="recentKeywordWrapper">
5811	<span data-column-name="recentKeyword"></span><span></span><i data-column-name="itemDelete" class="icon-close3"></i>
5812</div>
5813<div class="clearfix"></div>
5814<div class="float-left" style="display:none;">
5815	<span class="text-primary" data-column-name="totalCount">loading...</span> <span>&nbsp;</span>
5816	
5817   		
5818   			<span>Promotions</span>
5819     	
5820   		
5821   		
5822</div>
5823
5824<div class="float-right" data-ele-name="filterWrapper">
5825	<div class="sort-wrp dropdown">
5826		<!-- <a th:href="|#|" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="icon-sort"></i><span data-column-name="sortFilter" th:text="#{event.detail.msg.most.popular}">인기순</span></a> -->
5827		<a href="#" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="icon-sort"></i><span data-column-name="sortFilter">Most Recent</span></a>
5828		<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
5829			<a class="dropdown-item" href="javascript:;" onclick="subFilterForProduct.fn_tab3Page('popular','desc')" style="display: none"><span>Most Popular</span></a>
5830			<a class="dropdown-item" href="javascript:;" onclick="subFilterForProduct.fn_tab3Page('id','desc')"><span>Most Recent</span></a>
5831			<a class="dropdown-item" href="javascript:;" onclick="subFilterForProduct.fn_tab3Page('popular','desc')"><span>Most Popular</span></a>
5832			<a class="dropdown-item" href="javascript:;" onclick="subFilterForProduct.fn_tab3Page('dprice','asc')"><span>Lowest Price</span></a>
5833			<a class="dropdown-item" href="javascript:;" onclick="subFilterForProduct.fn_tab3Page('dprice','desc')"><span>Highest Price</span></a>
5834			<a class="dropdown-item" href="javascript:;" onclick="subFilterForProduct.fn_tab3Page('id','asc')" style="display: none">오래된 순</a>
5835		</div>
5836	</div>
5837</div>
5838<script>
5839	/*<![CDATA[*/
5840	var subFilterForProduct = (function() {
5841		var ns = 'subFilterForProduct';
5842		
5843		var _btnClassNm = {
5844			disabled: 'text-basic',
5845			enabled: 'text-primary'
5846		};
5847		var _filterWrapperClassNm = {
5848			disabled: 'off',
5849			enabled: 'on'
5850		};
5851		
5852		var _pEle = sel('[data-ele-name="filterWrapper"]');
5853
5854		var _$el = {
5855			sortFilter: sel('[data-column-name="sortFilter"]', _pEle),
5856			recentKeywordWrapper: $('[data-ele-name="recentKeywordWrapper"]'),
5857			recentKeyword: $('[data-column-name="recentKeyword"]'),
5858			itemDelete: $('[data-column-name="itemDelete"]')
5859		};
5860		
5861		var isOn = function() {
5862			if (bts.hasSelectedTagForEvent()) {
5863				
5864				return true;
5865			} else {
5866				
5867				return false;
5868			}
5869		};
5870
5871		var _setRecentKeyword = function() {
5872			
5873			var _currSearchKeyword = bts.getData(bts.dataKeys.currSearchKeyword);
5874			if (isEmpty(_currSearchKeyword)) {
5875				
5876				_$el.recentKeywordWrapper[0].style.display = 'none';
5877			} else {
5878				
5879				_$el.recentKeyword[0].innerHTML = _currSearchKeyword;
5880				_$el.itemDelete[0].onclick = function(e){
5881					
5882					MainChild.sendMsg('pgInit');
5883					bts.setData(bts.dataKeys.currSearchKeyword, '');
5884					
5885					MainChild.sendMsg('render');
5886				};
5887				
5888				_$el.recentKeywordWrapper[0].style.display = '';
5889			}
5890		};
5891		var _setDefaultFilter = function() {
5892			var v = bts.getSelectedTagLengthForEvent();
5893			var _currSearchKeyword = bts.getData(bts.dataKeys.currSearchKeyword);
5894			if ((v == undefined || v <= 0) &&
5895				isEmpty(_currSearchKeyword) &&
5896				isEmptyList(bts.getsSelectedTxPart()) &&
5897				isEmptyList(bts.getsSelectedTxPurpose()) &&
5898				isEmptyList(bts.getsSelectedTxName())
5899				) {
5900				console.log('debug temp', 'search keyword', 'default');
5901				bts.setDefaultFilterAll(); //steve
5902			} else {
5903				var key = bts.getsOrderKey();
5904				var direction = bts.getsOrderDirection();
5905				bts.setData(bts.dataKeys.currOrderKey, key);
5906				bts.setData(bts.dataKeys.currOrderDirection, direction);
5907				setFilterText(key, direction);
5908				console.log('debug temp', 'search keyword', 'no action');
5909			}
5910		};
5911		
5912		var setFilterText = function(key, direction){
5913			if(key == 'id') {
5914				if(direction == 'asc') {
5915					_$el.sortFilter.innerText = "오래된 순"; //TODO 다국어
5916				} else if(direction == 'desc') {
5917					_$el.sortFilter.innerText = "Most Recent"; //최신순
5918				} else {
5919				}
5920			} else if(key == 'popular') {
5921				_$el.sortFilter.innerText = "Most Popular"; //인기순
5922			} else if(key == 'dprice') {
5923				if(direction == 'asc') {
5924					_$el.sortFilter.innerText = "Lowest Price"; //낮은 가격순
5925				} else if(direction == 'desc') {
5926					_$el.sortFilter.innerText = "Highest Price"; //높은 가격순
5927				} else {
5928				}
5929			} else {
5930				_$el.sortFilter.innerText = "Most Popular"; //높은 가격순
5931			}
5932		}
5933		
5934		var _subFilter = {};
5935		
5936		_subFilter.fn_tab3Page = function(key, direction) {
5937			setFilterText(key, direction);
5938			bts.setData(bts.dataKeys.currOrderKey, key);
5939			bts.setData(bts.dataKeys.currOrderDirection, direction);
5940			MainChild.sendMsg('pgInit');
5941			MainChild.sendMsg('render');
5942		};
5943		
5944		_subFilter.init = function() {
5945			_setRecentKeyword();
5946			_setDefaultFilter();
5947		};
5948		return _subFilter;
5949	})();
5950	/*]]>*/
5951</script>
5951
5952
5953                                </div>
5954                                <ul class="lst-default" data-ele-name="emptyList">
5955								<li class="no-data">
5956									No Search Results
5957								</li>
5958								</ul>
5959								<ul class="lst-default" data-ele-name="noSearchList" style="display: none">
5960									<li class="no-data">
5961										No Search Results
5962									</li>
5963								</ul>
5964								<ul class="lst-common mt17" data-ele-name="dataList" style="display: none">
5965								</ul>
5966                            </div>
5967                            
5968<!-- @페이지네이션 -->
5969<nav class="text-center" data-ele-name="pagination-base">
5970	<ul data-ele-name="paginationEmpty" class="pagination" style="display:none">
5971		<li class="active"><a href="javascript:void(0)">1</a></li>
5972	</ul>
5973	<ul data-ele-name="paginationList" class="pagination" style="display:none">
5974		<li></li>
5975	</ul>
5976	<ul class="pagination" style="display:none">
5977		<li class="page first" data-ele-name="templateWrapperPaginatorFirst">
5978			<a href="javascript:void(0)" aria-label="First">&lt;&lt;</a>
5979		</li>
5980		<li data-ele-name="templateWrapperPaginatorPrev">
5981			<a href="javascript:void(0)" aria-label="Previous">
5982				<span> </span>
5983			</a>
5984		</li>
5985		<li data-ele-name="templateWrapperPaginator"><a data-column-name="paginatorBtn" href="javascript:void(0)">1</a></li>
5986		<li data-ele-name="templateWrapperPaginatorNext">
5987			<a href="javascript:void(0)" aria-label="Next">
5988				<span> </span>
5989			</a>
5990		</li>
5991		<li class="page last" data-ele-name="templateWrapperPaginatorLast">
5992			<a href="javascript:void(0)" aria-label="Last">&gt;&gt;</a>
5993		</li>
5994	</ul>
5995</nav>
5996<nav class="text-center" data-ele-name="pagination-append">
5997	<ul data-ele-name="paginationEmpty" class="pagination" style="display:none">
5998	</ul>
5999	<ul data-ele-name="paginationList" class="pagination" style="display:none">
6000		<li></li>
6001	</ul>
6002	<ul class="pagination" style="display:none">
6003		<!-- append 는 첫페이지 기능이 때문에 display:none 처리 -->
6004		<li class="page first" data-ele-name="templateWrapperPaginatorFirst" style="display:none">
6005			<a href="javascript:void(0)" aria-label="First">&lt;&lt;</a>
6006		</li>
6007		<!-- append 는 이전이 없기 때문에 display:none 처리 -->
6008		<li data-ele-name="templateWrapperPaginatorPrev" style="display:none">
6009		</li>
6010		<li data-ele-name="templateWrapperPaginator" style="display:none"><a data-column-name="paginatorBtn" href="javascript:void(0)">1</a></li>
6011		<li data-ele-name="templateWrapperPaginatorNext" style="
6012															width: 100%; clear: both
6013															   ">
6014			<a href="javascript:void(0)" aria-label="Next" style="cursor: pointer">
6015				<!--<div data-ele-name="loadingView" class="loading loading-sm">
6016					<div class="txt">LOADING</div>
6017				</div>-->
6018				<!--FIXME 더보기 버튼 나오면 수정하기 191227-->
6019				<div data-ele-name="loadingView">
6020					<div class="txt mt-4">More</div>
6021				</div>
6022			</a>
6023			<!-- <a th:href="|javascript:void(0)|" aria-label="Next" style="cursor: pointer">
6024				<span> </span> <span th:text="#{common.msg.more}">더 보기</span>
6025			</a> -->
6026		</li>
6027		<!-- append 는 마지막 페이지 기능이 없기 때문에 display:none 처리 -->
6028		<li class="page last" data-ele-name="templateWrapperPaginatorLast" style="display:none">
6029			<a href="javascript:void(0)" aria-label="Last">&gt;&gt;</a>
6030		</li>
6031	</ul>
6032</nav>
6033<script>
6034/*<![CDATA[*/
6035var PaginatorType = {
6036	base: 'base',
6037	append: 'append',
6038	noUi: 'noUi',
6039	_end: '__end__'
6040};
6041var Paginator = function(arg1, arg2) {
6042	
6043	var ns = 'Paginator';
6044	
6045	var _p = {};
6046	
6047	_p.TYPE = PaginatorType;
6048	_p.parentEle = sel('[data-ele-name="pagination-base"]');
6049	
6050	_p.DEFAULT_CURR_PAGE = 1;
6051	_p.DEFAULT_PAGE_SIZE = 10; // 한 페이지에 몇 개를 그리는지
6052	_p.DEFAULT_TOTAL_COUNT = 0;
6053
6054	_p.currentPage;
6055	_p.pageIndex;
6056	_p.totalCount;
6057	_p.pageSize;
6058	_p.goTo; //hook
6059	
6060	_p.PG_NAV_CNT = 10; // < 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 >
6061	
6062	_p.startPgNavIdx;
6063	_p.endPgNavIdx;
6064	
6065	_p.append; //hook
6066	_p._isEnd = false; //for append
6067    _p.isEnd = function(v) {
6068        return _p._isEnd || (0 < _p.totalCount ? false : true);
6069    };
6070    _p.setEnd = function(v) {
6071        _p._isEnd = v;
6072    };
6073	_p.isAppending = false; //for append
6074    
6075    _p.getTotalPage = function() {
6076		
6077		return _p.totalCount == 0 ? 1 : Math.ceil(_p.totalCount/_p.pageSize);
6078	};
6079	_p.getCurrPage = function() {
6080		
6081		if (_p.isAppend()) {
6082			return _p.currentPage;
6083		}
6084		
6085		return _p.currentPage > paginator.getTotalPage() ? _p.DEFAULT_CURR_PAGE : _p.currentPage;
6086	};
6087	_p.setCurrPage = function(currentPage) {
6088		
6089		if (typeof currentPage == 'number') {
6090		
6091		} else {
6092			
6093			bts.err(ns + '.setCurrPage invalid type', typeof currentPage);
6094			return;
6095		}
6096		_p.currentPage = currentPage;
6097	};
6098	_p.getStartPgNavIdx = function() {
6099		
6100		_p.startPgNavIdx = Math.floor((_p.getCurrPage() - 1) / _p.PG_NAV_CNT) * _p.PG_NAV_CNT + 1;
6101		
6102		return _p.startPgNavIdx;
6103	};
6104	_p.getEndPgNavIdx = function() {
6105		
6106		var _temp = (Math.floor((_p.getCurrPage() - 1) / _p.PG_NAV_CNT) + 1) * _p.PG_NAV_CNT;
6107		_p.endPgNavIdx = _temp < _p.getTotalPage() ? _temp : _p.getTotalPage();
6108		
6109		return _p.endPgNavIdx;
6110	};
6111	_p.isBase = function() {
6112		
6113		return (arg1 == undefined || arg1 == null || arg1 == '' || arg1 == _p.TYPE.base);
6114	};
6115	_p.isAppend = function() {
6116		
6117		return arg1 == _p.TYPE.append;
6118	};
6119	_p.isNoUi = function() {
6120		
6121		return arg1 == _p.TYPE.noUi;
6122	};
6123	_p.isCustom = function() {
6124		
6125		if (arg2 == undefined || arg2 == null || arg2 == '') {
6126			return false;
6127		}
6128
6129		if (arg2.nodeType == 1) {
6130		
6131		} else {
6132			
6133			bts.isDebug && console.log(ns + '.init :: invalid custom jquery element');
6134			return false;
6135		}
6136		return true;
6137	};
6138    _p.render = {};
6139    _p.render.init = function() {
6140        // bts.isDebug() && console.log(ns + '.render.init :: ', _p.emptyEle, _p.listEle);
6141        _p.emptyEle.style.display = 'none';
6142        _p.listEle.style.display = '';
6143    };
6144    _p.render.hide = function() {
6145        // bts.isDebug() && console.log(ns + '.render.hide :: ', _p.emptyEle, _p.listEle);
6146        _p.emptyEle.style.display = '';
6147        _p.listEle.style.display = 'none';
6148    };
6149    var p; // _pEle alias
6150	
6151	
6152	var paginator = {};
6153	paginator.getInfo = function() {
6154		
6155		return {
6156			defaultPageSize: paginator.getDefaultPageSize(),
6157			currentPage: paginator.getCurrPage(),
6158			pageIndex: _p.pageIndex,
6159			totalCount: paginator.getTotalCount(),
6160			pageSize: paginator.getPageSize(),
6161			startPgNavIdx: _p.getStartPgNavIdx(),
6162			endPgNavIdx: _p.getEndPgNavIdx(),
6163			totalPage: paginator.getTotalPage(),
6164            isEnd: paginator.isEnd()
6165		}
6166	};
6167	
6168	paginator.getDefaultPageSize = function() {
6169		
6170		return _p.DEFAULT_PAGE_SIZE;
6171	};
6172	paginator.getPageSize = function() {
6173		
6174		return _p.pageSize;
6175	};
6176	paginator.setPageSize = function(pageSize) {
6177		
6178		_p.pageSize = pageSize;
6179	};
6180	paginator.getTotalCount = function() {
6181		
6182		return _p.totalCount;
6183	};
6184	paginator.setTotalCount = function(count) {
6185		
6186		if (typeof count == 'number') {
6187		
6188		} else {
6189			
6190			bts.err(ns + '.setTotalCount invalid type', typeof count);
6191			return;
6192		}
6193		_p.totalCount = count;
6194		paginator.render();
6195	};
6196	paginator.getTotalPage = _p.getTotalPage;
6197	paginator.getCurrPage = _p.getCurrPage;
6198	paginator.setCurrPage = _p.setCurrPage;
6199	paginator.setGoTo = function(func) {
6200		
6201		_p.goTo = func;
6202	};
6203	paginator.setAppend = function(func) {
6204		
6205		_p.append = func;
6206	};
6207	paginator.isEnd = function() {
6208		
6209		if (_p.isAppend()) {
6210		
6211		} else {
6212			return false; // break;
6213		}
6214
6215        console.log('debug temp', ns + '.isEnd :: ',  _p.isEnd());
6216		return _p.isEnd();
6217	};
6218	paginator.setEnd = function(dataLength) {
6219		
6220		if (_p.isAppend()) {
6221		
6222		} else {
6223			return false; // break;
6224		}
6225		
6226		if ((_p.getTotalPage() <= _p.getCurrPage()) || dataLength < _p.pageSize) {
6227			
6228			_p.setEnd(true);
6229			_p.render.hide();
6230			//bts.isDebug() && console.log(ns + '.setEnd :: ', dataLength, '<', _p.pageSize);
6231		} else {
6232            _p.render.init();
6233		}
6234	};
6235	paginator.init = function() {
6236		
6237		_p.currentPage = _p.DEFAULT_CURR_PAGE;
6238		_p.pageIndex = _p.DEFAULT_CURR_PAGE - 1;
6239		_p.totalCount = _p.DEFAULT_TOTAL_COUNT;
6240		_p.pageSize = _p.DEFAULT_PAGE_SIZE;
6241		_p.goTo = function() {
6242			
6243			console.log(ns + '.setGoTo function override.');
6244			bts.override();
6245		};
6246		_p.append = function() {
6247			
6248			console.log(ns + '.setAppend function override.');
6249			bts.override();
6250		};
6251
6252		if (_p.isAppend()) {
6253			
6254			_p.parentEle = sel('[data-ele-name="pagination-append"]');
6255			_p.setEnd(false);
6256		}
6257		if (_p.isBase()) {
6258			
6259			_p.parentEle = sel('[data-ele-name="pagination-base"]');
6260		}
6261		if (_p.isCustom()) {
6262			
6263			_p.parentEle = arg2;
6264		}
6265		if (_p.isNoUi()) {
6266			hideEles(_p.parentEle);
6267		}
6268
6269        paginator.render();
6270    };
6271	paginator.render = function() {
6272		
6273		p = _p.parentEle;
6274		_p.emptyEle = sel('[data-ele-name=paginationEmpty]', p);
6275		_p.listEle = sel('[data-ele-name=paginationList]', p);
6276		
6277		_p.listEle.innerHTML = '';
6278		
6279		if (_p.totalCount <= 0) {
6280            _p.render.hide();
6281			return;
6282		} else {
6283            _p.render.init();
6284		}
6285		
6286		var firstEle = cloneEleP(sel('[data-ele-name=templateWrapperPaginatorFirst]', p));
6287		// var firstEle = p.find('[data-ele-name=templateWrapperPaginatorFirst]')[0].cloneNode();
6288		// firstEle.innerHTML = p.find('[data-ele-name=templateWrapperPaginatorFirst]')[0].innerHTML;
6289		firstEle.dataset.eleName = 'paginatorFirst';
6290		if (_p.getCurrPage() <= 1) {
6291			
6292			firstEle.classList.add('disabled');
6293		} else {
6294			
6295			firstEle.classList.remove('disabled');
6296			firstEle.onclick = function() {
6297				
6298				_p.setCurrPage(_p.DEFAULT_CURR_PAGE);
6299				_p.isBase() && _p.goTo();
6300			};
6301		}
6302        _p.listEle.appendChild(firstEle);
6303		
6304        var prevEle = cloneEleP(sel('[data-ele-name=templateWrapperPaginatorPrev]', p));
6305		// var prevEle = p.find('[data-ele-name=templateWrapperPaginatorPrev]')[0].cloneNode();
6306		// prevEle.innerHTML = p.find('[data-ele-name=templateWrapperPaginatorPrev]')[0].innerHTML;
6307		prevEle.dataset.eleName = 'paginatorPrev';
6308		if (_p.getCurrPage() <= 1) {
6309			
6310			prevEle.classList.add('disabled');
6311		} else {
6312			
6313			prevEle.classList.remove('disabled');
6314			prevEle.onclick = function() {
6315				
6316				_p.setCurrPage(_p.getCurrPage() - 1);
6317				_p.isBase() && _p.goTo();
6318			};
6319		}
6320        _p.listEle.appendChild(prevEle);
6321		
6322		var itemEle;
6323		for (var i = _p.getStartPgNavIdx(), length = _p.getEndPgNavIdx() + 1; i < length; i++) {
6324			
6325            itemEle = cloneEleP(sel('[data-ele-name=templateWrapperPaginator]', p));
6326			// itemEle = p.find('[data-ele-name=templateWrapperPaginator]')[0].cloneNode();
6327			// itemEle.innerHTML = p.find('[data-ele-name=templateWrapperPaginator]')[0].innerHTML;
6328			itemEle.dataset.eleName = 'paginator';
6329			
6330			if (i == _p.getCurrPage()) {
6331				
6332				itemEle.classList.add('active');
6333			} else {
6334				
6335				itemEle.classList.remove('active');
6336				itemEle.dataset.elePgNo = i;
6337				sel('[data-column-name=paginatorBtn]', itemEle).onclick = function() {
6338					
6339					_p.setCurrPage(Number(this.parentElement.dataset.elePgNo));
6340					_p.isBase() && _p.goTo();
6341				}
6342			}
6343			
6344			sel('[data-column-name=paginatorBtn]', itemEle).innerHTML = i;
6345			
6346			_p.listEle.appendChild(itemEle);
6347		}
6348		
6349		var nextEle = cloneEleP(sel('[data-ele-name=templateWrapperPaginatorNext]', p));
6350		nextEle.dataset.eleName = 'paginatorNext';
6351        _p.listEle.appendChild(nextEle);
6352		if (_p.isBase()) {
6353			//if (_p.getEndPgNavIdx() >= _p.getTotalPage()) { }
6354			if (_p.getTotalPage() <= _p.getCurrPage()) {
6355				
6356				nextEle.classList.add('disabled');
6357			} else {
6358				
6359				nextEle.classList.remove('disabled');
6360				nextEle.onclick = function() {
6361					
6362					_p.setCurrPage(_p.getCurrPage() + 1);
6363					_p.goTo();
6364				};
6365			}
6366		} else if (_p.isAppend()) {
6367			
6368			_p.resolveAppend = function() {
6369				
6370				if (_p.getTotalPage() <= _p.getCurrPage()) {
6371
6372                    _p.setEnd(true);
6373					_p.render.hide();
6374				} else {
6375					
6376					_p.setCurrPage(_p.getCurrPage() + 1);
6377                    _p.render.init();
6378				}
6379				_p.append();
6380			};
6381			nextEle.onclick = function() {
6382				
6383				_p.resolveAppend();
6384			};
6385			
6386			var _isDemandResolve = function(corr) {
6387				var t = sel('[data-ele-name="loadingView"]', _p.listEle).offsetTop,
6388					tH = $(window).height(),
6389					sT = $(window).scrollTop();
6390				corr = corr == null ? 0 : corr; //너무 빨리 당겨지는 것을 막기 위해 보정값..
6391				bts.isDebug() && console.log(ns + '.render _isDemandResolve :: ' + 'corr: ' + corr + 't-tH: ' + (t-tH) + 'sT: ' + sT);
6392				return (t-tH+corr)<sT;
6393			};
6394			
6395			// 무한스크롤
6396			$(window).scroll(function(){
6397                // bts.isDebug() && console.log(ns + '.window scroll :: init');
6398				if (_p.isAppending) {
6399					return false;
6400				}
6401				_p.isAppending = true;
6402				if (_p.isEnd()) {
6403					//bts.isDebug() && console.log(ns + '.window scroll :: paging end already.');
6404					_p.isAppending = false;
6405					return false;
6406				}
6407                setTimeout(function(){
6408					var corr = -20; //너무 빨리 당겨지는 것을 막기 위해 보정값..
6409					if(_isDemandResolve(corr)){
6410						bts.isDebug() && console.log(ns + '.window scroll :: pg bottom.', _p.currentPage);
6411						_p.resolveAppend();
6412						_p.isAppending = false;
6413					} else {
6414						//bts.isDebug() && console.log(ns + '.window scroll :: scrolling.');
6415						_p.isAppending = false;
6416					}
6417                }, 300);
6418			});
6419		}
6420		
6421		var lastEle = cloneEleP(sel('[data-ele-name=templateWrapperPaginatorLast]', p));
6422		// var lastEle = p.find('[data-ele-name=templateWrapperPaginatorLast]')[0].cloneNode();
6423		// lastEle.innerHTML = p.find('[data-ele-name=templateWrapperPaginatorLast]')[0].innerHTML;
6424		lastEle.dataset.eleName = 'paginatorLast';
6425		//if (_p.getEndPgNavIdx() >= _p.getTotalPage()) {}
6426		if (_p.getTotalPage() <= _p.getCurrPage()) {
6427			
6428			lastEle.classList.add('disabled');
6429		} else {
6430			
6431			lastEle.classList.remove('disabled');
6432			lastEle.onclick = function() {
6433				
6434				_p.setCurrPage(_p.getTotalPage());
6435				_p.isBase() && _p.goTo();
6436			};
6437		}
6438        _p.listEle.appendChild(lastEle);
6439	};
6440	
6441	paginator.init();
6442	return paginator;
6443};
6444/*]]>*/
6445</script>
6445
6446<!--// @페이지네이션 -->
6447
6448                        </div>
6449                    </div>
6450                </div>
6451            </div>
6452        </div>
6453    </section>
6454    <!-- E : 스킨케어 -->
6455    
6455<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.0/js/swiper.min.js"></script>
6455
6456</div>
6457</div>
6458		<!-- //페이지 시작 -->
6459
6460    <!-- </div> -->
6461    <!-- //container -->
6462    
6463	
6464	<!-- footer -->
6465	<!--<style>#gnb li { width:25%; }</style>-->
6466
6467    <div id="ft" class="btmBar" style="display: none">
6468        <ul data-ele-name="gnbTabs">
6469			<li class="home"><a href="/" onclick="sendEvent(this)">Home</a></li>
6470			<li class="event" data-feature="event"><a href="/event" onclick="sendEvent(this)">Promotions</a></li>
6471			<li class="review" data-feature="review"><a href="javascript:sts.loginUrlHref(&#39;/review&#39;)" onclick="sendEvent(this)">Reviews</a></li>
6472			<li class="board" data-feature="board"><a href="/board" onclick="sendEvent(this)" >게시판</a></li>
6473			<!-- <li class="gnb8" th:classappend="${'/' + paths.first eq pathStore} ? active" data-feature="store"><a th:href="${pathStore}" th:onclick="|sendEvent(this)|" >스킨케어</a></li> -->
6474			<!-- <li th:class="${'/' + paths.first eq pathTreatment} ? active"><a th:href="${pathTreatment}" th:onclick="|sendEvent(this)|" th:text="#{gnb.msg.title.treatment}">성형정보</a></li> -->
6475			<!-- <li class="gnb4" th:classappend="${'/' + paths.first eq pathTreatmentMain || '/' + paths.first eq pathTreatment} ? active"><a th:href="${pathTreatmentMain}" th:onclick="|sendEvent(this)|" th:text="#{gnb.msg.title.treatment}">성형정보</a></li> --> <!-- 시술모아보기빼고 반영시 체크 -->
6476			<!-- <li class="gnb7" th:classappend="${'/' + paths.first eq pathVideo} ? active" data-feature="video"><a th:href="${pathVideo}" th:onclick="|sendEvent(this)|">그루밍TV</a></li> -->
6477			<!-- <li class="gnb9" th:classappend="${'/' + paths.first eq pathEmployeeReview} ? active" data-feature="pathEmployeeReview"><a th:href="${pathEmployeeReview}" th:onclick="|sendEvent(this)|">직원리뷰</a></li> -->
6478			<!-- <li class="emplyeeReview" th:classappend="${'/' + paths.first eq pathEmployeeReview} ? on" data-feature="pathEmployeeReview"><a th:href="|javascript:sts.loginUrlHref('${pathEmployeeReview}')|" th:onclick="|sendEvent(this)|">직원리뷰</a></li> -->
6479			<!-- <li th:class="${'/' + paths.first eq pathHospital} ? active"><a th:href="${pathHospital}" th:onclick="|sendEvent(this)|" th:text="#{gnb.msg.title.clinics}">병원찾기</a></li>
6480			<li th:class="${'/' + paths.first eq pathDoctor} ? active"><a th:href="${pathDoctor}" th:onclick="|sendEvent(this)|" th:text="#{gnb.msg.title.doctors}">의사찾기</a></li> -->
6481
6482        </ul>
6483    </div>
6484
6485	<!-- <footer id="ft" style="display: none">
6486		<nav id="gnb">
6487			<ul data-ele-name="gnbTabs">
6488				<li class="gnb1" th:classappend="${#strings.isEmpty(paths.first)} ? active"><a th:href="${pathIndex}" th:onclick="|sendEvent(this)|" th:text="#{common.msg.home}">홈</a></li>
6489				<li class="gnb2" th:classappend="${'/' + paths.first eq pathEvent} ? active" data-feature="event"><a th:href="${pathEvent}" th:onclick="|sendEvent(this)|" th:text="#{gnb.msg.title.event}">이벤트</a></li>
6490				<li class="gnb6" th:classappend="${'/' + paths.first eq pathBoard} ? active" data-feature="board"><a th:href="${pathBoard}" th:onclick="|sendEvent(this)|" >게시판</a></li>
6491				<li class="gnb3" th:classappend="${'/' + paths.first eq pathReview} ? active" data-feature="review"><a th:href="|javascript:sts.loginUrlHref('${pathReview}')|" th:onclick="|sendEvent(this)|" th:text="#{common.msg.title.procedure.reviews}">리뷰</a></li>
6492				<li class="gnb9" th:classappend="${'/' + paths.first eq pathEmployeeReview} ? active" data-feature="pathEmployeeReview"><a th:href="|javascript:sts.loginUrlHref('${pathEmployeeReview}')|" th:onclick="|sendEvent(this)|">직원리뷰</a></li>
6493			</ul>
6494		</nav>
6495		<div class="sr-only">Copyright &copy; BeautySocial.</div>
6496	</footer> -->
6497	
6497<script>
6498	/*<![CDATA[*/
6499		var footerFragment = {};
6500		footerFragment.el = sel('#ft');
6501		footerFragment.on = function() {
6502			footerFragment.el.style.display = '';
6503		};
6504		footerFragment.off = function() {
6505			footerFragment.el.style.display = 'none';
6506		};
6507	/*]]>*/
6508</script>
6508
6509
6510	
6510<script>
6511        /*<![CDATA[*/
6512        footerFragment.initEvent = function() {
6513        	// var btmMenuCountNum = $('#ft ul'),
6514            // 	btmMenuClassNum = btmMenuCountNum.length;
6515	        // for (var i = 0; i < btmMenuClassNum; i++) {
6516	        //     var layoutClassCount = 'wd-' + btmMenuCountNum.eq(i).find('>li').length;
6517	        //     btmMenuCountNum.eq(i).addClass(layoutClassCount);
6518	        // }
6519        	
6520            var _pEle = selAll('[data-ele-name="gnbTabs"] > li', footerFragment.el);
6521            resolveEles(_pEle, function(_selLi) {
6522                _selLi.onclick = function(e) {
6523                    // console.log('1 [s]');
6524                    resolveEles(_pEle, function(_li) {
6525                        if (_selLi == _li) {
6526                            addClass(_selLi, 'on');
6527                            // console.log('1 [~] skip');
6528                        } else {
6529                            removeClass(_li, 'on');
6530                            // console.log('1 [~] remove');
6531                        }
6532                    });
6533                    // console.log('1 [e]');
6534                };
6535				sel('a', _selLi).onclick = function(e) {
6536                    // console.log('2 [s]');
6537                    sendEvent(this);
6538                    // console.log('2 [e]');
6539                };
6540            });
6541        };
6542        footerFragment.initEvent();
6543        /*]]>*/
6544	</script>
6544
6545	<!-- //footer -->
6546
6547</div>
6548<!-- //wrap -->
6549<!-- 하단 고정 버튼-->
6550
6551
6552
6553
6554<!-- image viewer -->
6555<div id="pswp" class="pswp" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;">
6556	<div class="pswp__bg"></div>
6557	<div class="pswp__scroll-wrap">
6558		<div class="pswp__container">
6559			<div class="pswp__item"></div>
6560			<div class="pswp__item"></div>
6561			<div class="pswp__item"></div>
6562		</div>
6563		<div class="pswp__ui pswp__ui--hidden">
6564			<div class="pswp__top-bar">
6565				<div class="pswp__counter"></div>
6566				<button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
6567				<button class="pswp__button pswp__button--zoom" title="Zoom"></button>
6568				<div class="pswp__preloader">
6569					<div class="pswp__preloader__icn">
6570					  <div class="pswp__preloader__cut">
6571						<div class="pswp__preloader__donut"></div>
6572					  </div>
6573					</div>
6574				</div>
6575			</div>
6576			<button class="pswp__button pswp__button--arrow--left" title="Previous">
6577			</button>
6578			<button class="pswp__button pswp__button--arrow--right" title="Next">
6579			</button>
6580		</div>
6581	</div>
6582</div>
6583<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe.min.js"></script>
vendor: 2 bytes, line 6583
6583
6584<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe-ui-default.min.js"></script>
6584
6585
6586
6587<!-- image viewer -->
6588<div class="attchfile-images-preview-modal">
6589	<!-- 이 모달은 이마크업 하나만 사용합니다 -->
6590	<a href="#" class="preview-close" style="display: block;">닫기</a>
6591	<a href="#" class="ico download" style="display: none;">더보기</a>
6592	<div class="inner">
6593		<div class="modal-swiper-container">
6594		<div class="swiper-wrapper">
6595			<!-- swiperPreviewImagesLoad 스크립트에 의해 이미지가 복사됩니다. -->
6596		</div>
6597		<!-- Swiper 페이지네이션 -->
6598		<div class="swiper-pagination" onClick="(function(){$('.preview-close').trigger('click');})();"></div>
6599		</div>
6600	</div>
6601</div>
6602
6603<!-- <div th:include="~{mobile/$inc/app_download :: item}" th:remove="tag"></div> -->
6604
6605
6606
6607
6608
6609
6610
6611<!-- 
6611<script th:src="@{/js/datepicker.min.js}"></script>
6611 -->
6612<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/js/select2.min.js"></script>
vendor: 2 bytes, line 6612
6612
6613<script src="/js/common.min.js?ver=25-06-17-2226-ex"></script>
vendor: 2 bytes, line 6613
6613
6614<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
6614
6615
6616<script>
6617    /*<![CDATA[*/
6618    /**
6619	 * requried mobile/$inc/script
6620	 * requried mobile/$inc/footer
6621	 */
6622	var feToggle = (function () {
6623		var ns = 'FeatureToggle';
6624		var featureCds = {
6625			  event: 'event'
6626			, counsel: 'counsel'
6627            , review: 'review'
6628		};
6629		var features = [
6630			  ['event', true, [bts.path.event, bts.path.eventDetail, bts.path.eventRecentlyList]]
6631			, ['counsel', true, [bts.path.estimate, bts.path.myPageEstimate]]
6632            , ['review', true, [bts.path.review, bts.path.reviewDetail, bts.path.reviewReg, bts.path.reviewEdit]]
6633		];
6634		var showList = function(featureCd, parentElement, lsSelector) {
6635			if (!parentElement){
6636				return;
6637			}
6638			if (!lsSelector) lsSelector = 'li';
6639			var els = selAll(lsSelector, parentElement);
6640			resolveEles(els, function(el) {
6641				el.style.width = '';
6642			});
6643		};
6644		var hideList = function(featureCd, parentElement, lsSelector) {
6645			if (!parentElement){
6646				return;
6647			}
6648			if (!lsSelector) lsSelector = 'li';
6649			var els = selAll(lsSelector, parentElement);
6650			var hideCnt = 0;
6651			resolveEles(els, function(el) {
6652				if (el.dataset.feature == featureCd) {
6653					hideCnt++;
6654				}
6655			});
6656			var elsLength = els.length - hideCnt;
6657			var itemWidth = (100 / elsLength);
6658			resolveEles(els, function(el) {
6659				el.style.width = itemWidth + '%';
6660			});
6661		};
6662        var showTab = function(featureCd, parentElement, lsSelector) {
6663            if (!parentElement){
6664                return;
6665            }
6666            if (!lsSelector) lsSelector = 'li';
6667            var els = selAll(lsSelector, parentElement);
6668            resolveEles(els, function(el) {
6669                if (el.dataset.feature == featureCd) {
6670                    showEles(el);
6671                }
6672            });
6673        };
6674        var hideTab = function(featureCd, parentElement, lsSelector) {
6675            if (!parentElement){
6676                return;
6677            }
6678            if (!lsSelector) lsSelector = 'li';
6679            var els = selAll(lsSelector, parentElement);
6680            resolveEles(els, function(el) {
6681                if (el.dataset.feature == featureCd) {
6682                    hideEles(el);
6683                }
6684            });
6685        };
6686		var hide = function(data) {
6687		};
6688		var resolve = function(data) {
6689			var isOn = data[1];
6690			var featureCd = data[0];
6691			var blockUrls = data[2];
6692			if (!isOn) {
6693				isNotEmptyList(blockUrls) && blockUrls.forEach(function (url) {
6694					if (0 < location.href.indexOf(url)) {
6695						console.log(ns + '.resolve :: go to err.');
6696						location.href = '/error-404';
6697						return false;
6698					}
6699				});
6700			}
6701			switch (featureCd) {
6702				case featureCds.event:
6703					var targetEls = selAll('[data-feature="event"]');
6704					if (isOn) {
6705						showEles(targetEls);
6706						showList(featureCd, sel('#ft [data-ele-name="gnbTabs"]'));
6707						showTab(featureCd, sel('[data-ele-name="tabs"]'));
6708					} else {
6709						hideEles(targetEls);
6710						hideList(featureCd, sel('#ft [data-ele-name="gnbTabs"]'));
6711						hideTab(featureCd, sel('[data-ele-name="tabs"]'));
6712					}
6713					break;
6714				case featureCds.counsel:
6715					var targetEls = selAll('[data-feature="counsel"]');
6716					if (isOn) {
6717						showEles(targetEls);
6718					} else {
6719						hideEles(targetEls);
6720					}
6721					break;
6722                case featureCds.review:
6723                    var targetEls = selAll('[data-feature="' + featureCd + '"]');
6724                    if (isOn) {
6725                        showEles(targetEls);
6726                        showList(featureCd, sel('#ft [data-ele-name="gnbTabs"]'));
6727                        showTab(featureCd, sel('[data-ele-name="tabs"]'));
6728                    } else {
6729                        hideEles(targetEls);
6730                        hideList(featureCd, sel('#ft [data-ele-name="gnbTabs"]'));
6731                        hideTab(featureCd, sel('[data-ele-name="tabs"]'));
6732                    }
6733                    break;
6734                default:
6735                    var targetEls = selAll('[data-feature="' + featureCd + '"]');
6736                    if (isOn) {
6737                        showEles(targetEls);
6738                    } else {
6739                        hideEles(targetEls);
6740                    }
6741                    break;
6742			}
6743		};
6744		var resolveGlobal = function() {
6745			var targetEls = selAll('[data-off="Y"]');
6746			if (targetEls) {
6747				hideEles(targetEls);
6748			}
6749		};
6750		var run = function() {
6751			features.forEach(function (feature) {
6752				resolve(feature);
6753			});
6754			resolveGlobal();
6755		};
6756		var _fe = {};
6757		_fe.run = run;
6758		_fe.features = featureCds;
6759		_fe.isOn = function(featureCd) {
6760			var res = true;
6761			features.forEach(function (feature) {
6762				var _featureCd = feature[0];
6763				var _isOn = feature[1];
6764				if (_featureCd == featureCd) {
6765					res = _isOn;
6766				}
6767			});
6768			return res;
6769		};
6770		_fe.toggle = function(featureCd) {
6771			features.forEach(function (feature) {
6772				var _featureCd = feature[0];
6773				var _isOn = feature[1];
6774				if (_featureCd == featureCd) {
6775					feature[1] = !_isOn;
6776				}
6777			});
6778			run();
6779		};
6780		return _fe;
6781	})();
6782	bts.isProd() && feToggle.run();
6783	
6784	//IOS 출시 위한
6785	/* if(bts.isIOS() || bts.isMacOS()){
6786		if(sel('[data-temp_id="divice"]')){
6787			hideEles(sel('[data-temp_id="divice"]'));	
6788		}
6789	} */
6790    /*]]>*/
6791</script>
6791
6792
6793<script>
6794	/*<![CDATA[*/
6795    jQuery(function($){
6796        "use strict";
6797
6798        $(window).scroll(function(){
6799            var $body = $('body');
6800            var pos = $(this).scrollTop();
6801            pos > $(".tab-content").offset().top ? $body.addClass('nav-fix') : $body.removeClass('nav-fix');
6802        }).trigger('scroll');
6803
6804        // 상단배너
6805        new Swiper('.view-swiper', {
6806            loop: true,
6807            centeredSlides: true,
6808            observer: true,
6809            observeParents: true,
6810            pagination: {
6811                el: '.swiper-pagination-view',
6812                clickable:true
6813            },
6814        });
6815    });
6816	
6817    var paginator;
6818	var MainList = {};
6819	MainList.ordrBy = '';
6820	MainList.reqDt = '';
6821	
6822	MainList.resolveMsg = function(msg) {
6823		
6824		switch(msg){
6825			case 'pgInit':
6826				StoreMain.initPaging();
6827				break;
6828			case 'render':
6829				StoreMain.initList();
6830				break;
6831			case 'rerender':				
6832				MainList.reqDt = DateUtil.getNowStr();
6833				StoreMain.initList();
6834				break;
6835			default: console.log('resolveMsg: invalid msg: ', msg);
6836		}
6837	};
6838	
6839    var StoreMain = (function(){
6840    	var ns = 'store.main';
6841    	
6842        var _pEle = getContainer();
6843        
6844    	var _el = {
6845    		dataList: sel('[data-ele-name="dataList"]', _pEle),
6846    	};
6847    	
6848    	function init(){
6849    		bts.isDebug() && console.log('Init list page.');
6850    		headerFragment.setTitle(bts.text.title_searchStore);
6851    		onMain();
6852        };
6853        
6854        function initMain(){
6855    		bts.initSearchOption();
6856    		initList();
6857    	};
6858        
6859    	function initList(){
6860    		if(paginator) {
6861    			paginator.init();
6862    		} else {
6863    			paginator = new Paginator(PaginatorType.append);
6864    		}
6865    		paginator.setPageSize(Number($('input[name=main_limit]').val())); 
6866    		paginator.setCurrPage(Number($('input[name=main_pg]').val()));
6867    		paginator.setAppend(appendList);
6868    		
6869    		_toggleOrder($('input[name=main_ordrBy]').val());
6870    		
6871    		viewTabProduct.init();
6872    		//subCategoryProduct.init();
6873    		subFilterForProduct.init();
6874
6875    		var isInit = true;
6876    		getList(isInit);
6877    	};
6878    	
6879    	function _toggleOrder(ordrFilterName) {
6880    		var _ordrConst = bts.consts.order;
6881    		if (ordrFilterName == 'id') {
6882    			
6883    			MainList.ordrBy = _ordrConst.id;
6884    		} else if (ordrFilterName == 'popular') {
6885    			
6886    			MainList.ordrBy = _ordrConst.popular;
6887    		} else {
6888    			MainList.ordrBy = _ordrConst.ordrDefault; //기본 최신순으로 수정
6889    			//MainList.ordrBy = _ordrConst.popular; //기본 인기순으로 수정
6890    		}
6891    	}
6892    	
6893    	function appendList() {
6894    		$('input[name=main_pg]').val(paginator.getCurrPage());
6895    		$('input[name=main_limit]').val(paginator.getPageSize());
6896    		$('input[name=main_ordrBy]')[0].value = MainList.ordrBy;
6897    	
6898    		if (paginator.isEnd()) {
6899    			bts.isDebug() && console.log(ns + '.appendList :: already last page.');
6900    			//bts.toast(bts.text.noti_lastPage);
6901    			return;
6902    		}
6903
6904    		var pg = paginator.getCurrPage();
6905    		var limit = paginator.getPageSize();
6906            placeholder.on(_el.dataList, paginator.getPageSize());
6907    		getsDataList(pg, limit, getSearchOptions(), function(dataList){
6908    			if (dataList && dataList.length > 0) {
6909    			} else {
6910    				bts.isDebug() && console.log(ns + '.appendList :: no data.');
6911    				overlay.off();
6912                    placeholder.off(_el.dataList);
6913    				return;
6914    			}
6915    			renderListMain(dataList);
6916    		});
6917    	};
6918    	
6919    	function renderListMain(_dataList) {
6920    		for (var i = 0, length = _dataList.length; i < length; i ++) {
6921    			listItems.renderRowStore(_dataList[i], _el.dataList, function(event, _this){
6922    				sendEvent(_this, event);
6923                }, function(rowEl) {
6924                    placeholder.off(_el.dataList, i);
6925    			});
6926    		}
6927    		overlay.off();
6928            placeholder.off(_el.dataList);
6929            lazyLoading().setImages();
6930    		paginator.setEnd(_dataList.length);
6931    	};
6932    	
6933    	function initPaging(){
6934    		$('input[name=main_limit]').val(bts.defaults.pageSize); 
6935    		$('input[name=main_pg]').val(bts.defaults.pageStart);
6936    		renderTotalCount(0);
6937    		renderListMainInit();
6938    	};
6939    	
6940    	function renderTotalCount(cnt) {
6941    		if (cnt) {
6942    		} else {
6943    			cnt = '0';
6944    		}
6945    		$('[data-column-name="totalCount"]')[0].innerHTML = StringUtil.numberWithCommas(cnt);
6946    	};
6947    	
6948    	function renderEmptyListMain() {
6949    		var emptyListEle = sel('[data-ele-name=emptyList]');
6950    		showEles(emptyListEle);
6951    		
6952    		var noSearchListEle = sel('[data-ele-name=noSearchList]');
6953    		hideEles(noSearchListEle);
6954    		
6955    		var dataListEle = sel('[data-ele-name=dataList]');
6956    		hideEles(dataListEle);
6957    		
6958    		return;
6959    	};
6960    	
6961    	function renderNoSearchListMain() {
6962    		
6963    		var emptyListEle = sel('[data-ele-name=emptyList]');
6964    		hideEles(emptyListEle);
6965    		
6966    		var noSearchListEle = sel('[data-ele-name=noSearchList]');
6967    		showEles(noSearchListEle);
6968    		
6969    		var dataListEle =_el.dataList;
6970    		hideEles(dataListEle);
6971    		
6972    		return;
6973    	};
6974    	
6975    	function renderListMainInit() {
6976    		var emptyListEle = sel('[data-ele-name=emptyList]');
6977    		hideEles(emptyListEle);
6978    		
6979    		var noSearchListEle = sel('[data-ele-name=noSearchList]');
6980    		hideEles(noSearchListEle);
6981    		
6982    		var dataListEle = sel('[data-ele-name=dataList]');
6983    		showEles(dataListEle);
6984    		
6985    		dataListEle.innerHTML = '';
6986    	};
6987    	
6988    	function getList(isInit) {
6989    		
6990    		$('input[name=main_pg]').val(paginator.getCurrPage());
6991    		$('input[name=main_limit]').val(paginator.getPageSize());
6992    		$('input[name=main_ordrBy]')[0].value = MainList.ordrBy;
6993
6994            renderListMainInit();
6995            placeholder.on(_el.dataList, paginator.getPageSize());
6996    		getCount(getSearchOptions(), function(res){
6997    			if (res.body == undefined || res.body.count == undefined) {
6998    				renderEmptyListMain();
6999    				paginator.setTotalCount(0);
7000    				renderTotalCount(0);
7001    				overlay.off();
7002                    placeholder.off(_el.dataList);
7003    				return;
7004    			}
7005    			if(res.body.count <= 0) {
7006    				renderNoSearchListMain();
7007    				paginator.setTotalCount(0);
7008    				renderTotalCount(0);
7009    				overlay.off();
7010                    placeholder.off(_el.dataList);
7011    				return;
7012    			}
7013    			paginator.setTotalCount(res.body.count);
7014    			if(paginator.getTotalCount() <= 0) {
7015    				renderNoSearchListMain();
7016    				renderTotalCount(0);
7017    				overlay.off();
7018                    placeholder.off(_el.dataList);
7019    				return false;
7020    			}
7021    			renderTotalCount(paginator.getTotalCount());
7022    			
7023    			var pg = paginator.getCurrPage();
7024    			var limit = paginator.getPageSize();
7025    			if (isInit) {
7026    				// 현재 페이지까지 모든 내용을 init 함.
7027    				pg = bts.defaults.pageStart_append;
7028    				limit = paginator.getPageSize() * paginator.getCurrPage();
7029    			}
7030    			//renderListMainInit();			
7031    			getsDataList(pg, limit, getSearchOptions(), function(dataList){
7032    				if (dataList && dataList.length > 0) {
7033    					
7034    				} else {
7035    					
7036    					renderNoSearchListMain();
7037    					overlay.off();
7038                        placeholder.off(_el.dataList);
7039    					return;
7040    				}
7041    				renderListMain(dataList);
7042    			});
7043    		});
7044    	};
7045    	
7046    	function getsDataList(pg, limit, searchOptions, callback) {
7047    		
7048    		var _queryString = $.param(Object.assign({
7049    			limit: limit,
7050    			pg: pg
7051    		}, searchOptions));
7052    		ajax({
7053    			url: bts.url.getSapi() + '/commerce' + '?' + _queryString,
7054    			overlayManual: true,
7055    			success: function(res) {
7056    				//console.log(res);
7057    				if (res.body && res.body.data && res.body.data.datas) {
7058    					
7059    				} else {
7060    					
7061    					overlay.off();
7062                        placeholder.off(_el.dataList);
7063    					return;
7064    				}
7065    				callback(res.body.data.datas);
7066    			}, error: function(e) {
7067    				overlay.off();
7068                    placeholder.off(_el.dataList);
7069    				
7070    				console.log('err');
7071    			}
7072    		});
7073    	};
7074    	
7075    	function getCount(searchOptions, callback) {
7076    		var _queryString = $.param(Object.assign({}, searchOptions));
7077    		ajax({
7078    			url: bts.url.getSapi() + '/commerce/count' + '?' + _queryString,
7079    			overlayManual: true,
7080    			alertManual: true,
7081    			success: function(res) {
7082    				callback(res);
7083    			}, error: function(e) {
7084    				
7085    				overlay.off();
7086                    placeholder.off(_el.dataList);
7087    				console.log('err count');
7088    			}
7089    		});
7090    	};
7091	
7092    var _interface = new List();
7093    _interface.init = init;
7094    _interface.initList = initList;
7095    _interface.initMain = initMain;
7096    _interface.initPaging = initPaging;
7097    return _interface;
7098    })();
7099	
7100    StoreMain.init();
7101    window.requestAnimationFrame(function(){
7102    	StoreMain.initMain();
7103    });
7104	/*]]>*/
7105</script>
7105
7106<!-- <th:block th:include="~{mobile/$inc/app_download :: item}" th:remove="tag"></div> -->
7107
7108<!-- 
7108<script th:include="~{$inc/naver-analytics :: item}" th:remove="tag"></script>
7108 -->
7109</body>
7110</html>

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.