PageSourceSearch

https://forbeaut.co.kr/ind-script/optimizer_user.php?filename=jZJB…8fca8ca4ee80d92a5ba2913&t=1760433302&user=T

js forbeaut.co.kr collected 2026-09-26 04:35:47 UTC 53,809 bytes, 1,150 lines download raw bytes

1var reviewswiper = new Swiper(".reviewSwiper", { 
2    autoplay: {
3        delay: 2000,
4        disableOnInteraction:false,
5    }, 
6    slidesPerView: 2,
7    spaceBetween: 0,  
8    loop:true, 
9    speed: 1500,
10    breakpoints: { 
11        768: {
12            slidesPerView: 3,
13            spaceBetween: 0,             
14        },
15        1024: {
16            slidesPerView: 4,
17            spaceBetween: 0,
18        },
19        1280: {
20            slidesPerView:4,
21            spaceBetween: 0,
22        },
23    },
24    pagination: {
25        el: ".review-pagination", 
26        clickable: true,	
27    },  
28    // Enable keyboard control
29    keyboard: {
30        enabled: true,
31        onlyInViewport: false,
32    },
33    touchEventsTarget: 'container',
34    simulateTouch: true,
35});
36
37/*
38$('.reviewSwiper').on('mouseenter', function() {
39    reviewswiper.autoplay.stop();
40});
41
42$('.reviewSwiper').on('mouseleave', function() {
43    reviewswiper.autoplay.start();
44});*/
45
46
47$(document).ready(function() {
48    $('.textLink, .rev').each(function() {
49        var $img = $(this).find('.img img');
50        var imgSrc = $img.attr('src'); 
51
52        if (!imgSrc || imgSrc.endsWith('///')) {
53            $(this).find('.img').hide(); 
54            $(this).addClass("noimg"); 
55        } else { 
56            $img.on('error', function() {
57                $(this).closest('.img').hide();  
58                $(this).closest('.textLink').addClass('noimg'); 
59            });
60        }
61    });
62
63    $(document).on('click', '.open-popup', function(e) {
64        e.preventDefault();
65        var paramValue = $(this).data('param'); 
66
67        if (!paramValue) { 
68            return;
69        }
70
71        var url = '/board/product/review_modal.html' + paramValue; 
72
73        // AJAX로 팝업 내용을 불러와서 모달에 삽입
74        $.ajax({
75            url: url,
76            method: 'GET',
77            success: function(response) {
78                $('#modal-body').html(response);
79                $('#reviewModal').fadeIn(); // 모달 표시
80            },
81            error: function(jqXHR, textStatus, errorThrown) {
82                console.error("AJAX Error: ", textStatus, errorThrown);
83                alert('팝업 내용을 불러오는데 실패했습니다.');
84            }
85        });
86    });
87
88    // 모달 닫기
89    $(document).on('click', '.close', function() {
90        $('#reviewModal').fadeOut(); // 모달 닫기
91    });
92
93    // 모달 외부 클릭 시 닫기
94    $(window).on('click', function(event) {
95        if ($(event.target).is('#reviewModal')) {
96            $('#reviewModal').fadeOut();
97        }
98    });
99});
100
101 
102 
103 
104$(function(){
105    if (typeof(EC_SHOP_MULTISHOP_SHIPPING) != "undefined") {
106        var sShippingCountryCode4Cookie = 'shippingCountryCode';
107        var bShippingCountryProc = false;
108
109        // 배송국가 선택 설정이 사용안함이면 숨김
110        if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) {
111            $('.xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist').hide();
112            $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption .xans-layout-multishoplistmultioptioncountry').hide();
113        } else {
114            $('.thumb .xans-layout-multishoplistitem').hide();
115            var aShippingCountryCode = document.cookie.match('(^|;) ?'+sShippingCountryCode4Cookie+'=([^;]*)(;|$)');
116            if (typeof(aShippingCountryCode) != 'undefined' && aS
116hippingCountryCode != null && aShippingCountryCode.length > 2) {
117                var sShippingCountryValue = aShippingCountryCode[2];
118            }
119
120            // query string으로 넘어 온 배송국가 값이 있다면, 그 값을 적용함
121            var aHrefCountryValue = decodeURIComponent(location.href).split("/?country=");
122
123            if (aHrefCountryValue.length == 2) {
124                var sShippingCountryValue = aHrefCountryValue[1];
125            }
126
127            // 메인 페이지에서 국가선택을 안한 경우, 그 외의 페이지에서 셋팅된 값이 안 나오는 현상 처리
128            if (location.href.split("/").length != 4 && $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val()) {
129                $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join(""));
130
131                if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) {
132                    $("#f_country").val($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val());
133                }
134            }
135            if (typeof(sShippingCountryValue) != "undefined" && sShippingCountryValue != "" && sShippingCountryValue != null) {
136                sShippingCountryValue = sShippingCountryValue.split("#")[0];
137                var bShippingCountryProc = true;
138
139                $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue);
140                $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join(""));
141                var expires = new Date();
142                expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30일간 쿠키 유지
143                document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString();
144                if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) {
145                    $("#f_country").val(sShippingCountryValue).change();
146                }
147            }
148        }
149        // 언어선택 설정이 사용안함이면 숨김
150        if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingLanguageSelection === false) {
151            $('.xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist').hide();
152            $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption .xans-layout-multishoplistmultioptionlanguage').hide();
153        } else {
154            $('.thumb .xans-layout-multishoplistitem').hide();
155        }
156
157        // 배송국가 및 언어 설정이 둘 다 사용안함이면 숨김
158        if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShipping === false) {
159            $(".xans-layout-multishopshipping").hide();
160            $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption').hide();
161        } else if (bShippingCountryProc === false && location.href.split("/").length == 4) { // 배송국가 값을 처리한 적이 없고, 메인화면일 때만 선택 레이어를 띄움
162            var sShippingCountryValue = $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val();
163            $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue);
164            $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join(""));
165            // 배송국가 선택을 사용해야 레이어를 보이게 함
166            if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === true) {
167                $(".xans-layout-multishopshipping").show();
168            }
169        }
170
171        $(".xans-layout-multishopshipping .close").on("click", function() {
172            $(".xans-layout-multishopshipping").hide();
173        });
174
175        $(".xans-layout-multishopshipping .ec-base-button a").on("click", function() {
176            var expires = new Date();
177            expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30일간 쿠키 유지
178            document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString();
179
180            // 도메인 문제로 쿠키로 배송국가 설정이 안 되는 경우를 위해 query string으로 배송국가 값
180을 넘김
181            var sQuerySting = (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) ? "" : "/?country="+encodeURIComponent($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val());
182
183            location.href = '//'+$(".xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist").val()+sQuerySting;
184        });
185        $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a").on("click", function() {
186            $(".xans-layout-multishopshipping").show();
187        });
188    }
189});
190/**
191 * hasClass
192 */
193function hasClass(element, className){
194    return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;
195};
196
197/**
198 *  toggle
199 */
200function toggleClassAll(element, handler, className){
201    var _handler = document.querySelector(handler);
202    document.querySelectorAll(handler).forEach(function(item){
203        item.addEventListener('click', function(){
204            var _element = item.parentNode;
205            if ( hasClass( _element, className ) ) {
206                _element.classList.remove( className );
207            } else {
208                _element.classList.add( className );
209            }
210        })
211    })
212};
213
214/**
215 *  findElements
216 */
217function findElements(element, findElement){
218    var resultElements = [];
219    document.querySelectorAll(element).forEach(function(item){
220        var findElementList = item.querySelectorAll(findElement);
221        findElementList = Array.prototype.slice.call(findElementList);
222        resultElements = resultElements.concat(findElementList);
223    })
224    return resultElements;
225};
226
227/**
228 *  setAttributeAl
229 */
230function setAttributeAll(elements, name, value){
231    elements.forEach(function(item){
232        item.setAttribute(name, value);
233    })
234};
235
236/**
237 *  tooltip
238 */
239function setTooltipEvent(){
240    var input = findElements('.eTooltip', 'input');
241    input.forEach(function(item){
242        item.addEventListener('focusin', function(event){
243            var targetName = returnTargetName(event.target);
244            targetName.nextElementSibling.style.display = 'block'
245        });
246        item.addEventListener('focusout', function(event){
247            var targetName = returnTargetName(event.target);
248            targetName.nextElementSibling.style.display = 'none'
249        });
250    });
251}
252
253/**
254 *  tooltip input focus
255 */
256function returnTargetName(_this){
257    var ePlacename = _this.parentElement.getAttribute("class");
258    var targetName;
259    if(ePlacename == "ePlaceholder"){ //ePlaceholder supported
260        targetName = _this.parentElement;
261    }else{
262        targetName = _this;
263    }
264    return targetName;
265}
266
267/**
268 * window load
269 */
270window.addEventListener('load', function(){
271    if (document.querySelector('.eTooltip')){
272        setAttributeAll(findElements('.eTooltip', '.btnClose'),'tabIndex','-1');
273        setTooltipEvent();
274    }
275    if (document.querySelector('div.eToggle')){
276        toggleClassAll(false, 'div.eToggle .title', 'selected');
277    }
278});
279
280 
281
282/**
283 * 문서 구동후 시작
284 */
285$(function(){ 
286
287    $('input#keyword').attr("autocomplete","off");  
288
289    //클릭하면 placeholder 숨김
290    $('body').on('click', '.ePlaceholder span', function(){
291        $(this).hide();
292    });
293
294    //input창 포커스 인 일때 placeholder 숨김
295    $('body').on('focusin', '.ePlaceholder :input', function(){
296        $(this).prev('span').hide();
297    });
298
299    //input창 포커스 아웃 일때 value 가 true 이면 숨김, false 이면 보여짐
300    $('body').on('focusout', '.ePlaceholder :input', function(){
301        if (this.value) {
302            $(this).prev('span').hide();
303        } else {
304            $(this).prev('span').show();
305        }
306    });
307
308    //input에 placeholder가 지원이 되면 true를 안되면 false를 리턴값으로 던져줌
309    function hasPlaceholderSupport() {
310        if ('placeholder' in document.createElement('input')) {
311            return true;
312        } else {
313            return false;
314        }
315    }
316});
317
318/**
319 *  썸네일 이미지 엑박일경우 기본값 설정
320 */
321$(window).on('load', function() {
322    $("img.thumb,img.ThumbImage,img.BigImage").each(function($i,$item){
323        var $img = new Image();
324        $img.onerror = function () {
325            $item.src="//img.echosting.cafe24.com/thumb/img_product_big.gif";
326        }
327        $img.src = this.src;
328    });
329});
330
331/**
332 *  tooltip
333 */
334$('.eTooltip').each(function(i){
335    $(this).find('.btnClose').attr('tabIndex','-1');
336});
337//tooltip input focus
338$('.eTooltip').find('input').on('focus', function() {
339    var targetName = returnTagetName(this);
340    targetName.siblings('.ec-base-tooltip').show();
341});
342$('.eTooltip').find('input').on('focusout', function() {
343    var targetName = returnTagetName(this);
344    targetName.siblings('.ec-base-tooltip').hide();
345});
346function returnTagetName(_this){
347    var ePlacename = $(_this).parent().attr("class");
348    var targetName;
349    if(ePlacename == "ePlaceholder"){ //ePlaceholder 대응
350        targetName = $(_this).parents();
351    }else{
352        targetName = $(_this);
353    }
354    return targetName;
355}
356
357/**
358 *  eTab
359 */
360$("body").on("click", ".eTab a", function(e){
361    // 클릭한 li 에 selected 클래스 추가, 기존 li에 있는 selected 클래스는 삭제.
362    var _li = $(this).parent("li").addClass("selected").siblings().removeClass("selected"),
363    _target = $(this).attr("href"),
364    _siblings = $(_target).attr("class"),
365    _arr = _siblings.split(" "),
366    _classSiblings = "."+_arr[0];
367
368    //클릭한 탭에 해당하는 요소는 활성화, 기존 요소는 비활성화 함.
369    $(_target).show().siblings(_classSiblings).hide();
370
371
372    //preventDefault 는 a 태그 처럼 클릭 이벤트 외에 별도의 브라우저 행동을 막기 위해 사용됨.
373    e.preventDefault();
374});
375
376
377
378
379$(document).ready(function() {
380    $('.titleArea .tit').addClass('ani'); 
381
382    $('.animate-img img').each(function() {
383        if (this.complete) {
384            $(this).addClass('loaded');
385        } else {
386            $(this).on('load', function() {
387                $(this).addClass('loaded');
388            });
389        }
390    });
391});
392
393$(document).ready(function() {     
394    $('.our_imgboard').each( function() {
395        $(this).html( $(this).html().replace(/\/gallery/gi, "") );
396    }); 
397
398    const currentUrl = window.location.href;
399    $('.ec-base-tab.typeMenu .menu li a').each(function() {
400        if (this.href === currentUrl) {
401            $(this).addClass('active');
402        }
403    });
404}); 
405jQuery(document).ready(function() { 
406  
407	/* 로그인폼 placeholder 추가 - 서정환 */
408	if (jQuery('.xans-member-login').val() != undefined) {
409		jQuery('#member_passwd').attr('placeholder', '비밀번호');
410	}
411
412	/* 비회원 주문조회페이지 placeholder 추가 - 서정환 */
413	setTimeout(function(){
414		if (jQuery('.xans-myshop-orderhistorynologin').val() != undefined) {
415			jQuery('#order_name').attr('placeholder', '주문자명');
416			jQuery('#order_id').attr('placeholder', '주문번호(하이픈(-) 포함)');
417			jQuery('#order_password').attr('placeholder', '비회원주문 비밀번호');
418		}
419	}, 100);
420
421	/* 검색페이지 인풋박스에서 텍스트 삭제 - 서정환 */
422	jQuery('#ec-product-searchdata-searchkeyword_form').find('button.btnDelete').bind('click', function() {
423		jQuery('#ec-product-searchdata-keyword').val('').focus();
424	});
425
426	/* 검색페이지 정렬 텍스트 변경 */
427	jQuery("#order_by").each(function(){
428		jQuery('option:first-child', this).text('정렬방식');
429	});
430
431	/* 멀티샵 없을경우 숨김 */
432	jQuery(".xans-layout-multishoplist").each(function(){
433		var multishoplist_count = jQuery('li', this).length;
434		if ( multishoplist_count == 1 ) {
435			jQuery(this).hide();
436		}
437	}); 
438
439	/* 로그인페이지 SNS 사용하면 출력 */
440	jQuery(".xans-member-login .login__sns .wrap_sns_log a").each(function(){
441		var wrap_sns_log = jQuery(this).hasClass('displaynone');
442		if( wrap_sns_log == false){
443			jQuery(".xans-member-login .login__sns").css('display','block');
444		}
445	});
446 
447
448	/* 모바일에서 쇼핑큐레이션 */
449	jQuery('#shoppQbtn').click(function(){
450		if (jQuery("#searchContent.xans-product-searchdata").is(":hidden")) {
451			jQuery('#searchContent.xans-product-searchdata').slideDown('normal');
452			jQuery(this).text('상세검색 닫기');
453			jQuery(this).css('margin-top','0');
454		} else {
455			jQuery('#searchContent.xans-product-searchdata').slideUp('normal');
456			jQuery(this).text('상세검색');
457		}
458	});
459
460	/* 모바일에서 쇼핑큐레이션 없을시 버튼 숨김 */
461	jQuery("#searchContent").each(function(){
462		var prdCount_count = jQuery("#ec-searchdata-area", this).length;
463		if ( prdCount_count == '0' ) {
464			jQuery('#shoppQbtn').hide();
465		}
466	});
467
468	/* 마이페이지 나의게시글 없을때 메시지 표시 */
469	jQuery(".xans-myshop-boardpackage").each(function(){
470		var boardlist = jQuery(".xans-myshop-boardlist table", this).length;
471		if ( boardlist == '0' ) {
472			jQuery('.myshop_boardlist_empty').css('display','flex');
473		}
474	});
475
476	/* 더보기 클릭시 */
477	jQuery('.btnMore').click(function(){
478		setTimeout(function(){
479			ifmore();
480		},600)
481	});
482	setTimeout(function(){
483		ifmore();
484	},300)
485 
486});
487 
488
489/* 더보기 클릭시 */
490function ifmore(){
491	/* 상품 썸네일 관심상품 출력 & 숨김 */
492	setTimeout(function(){
493		jQuery('.ec-base-product .prdList .icon__box .wish').each(function(){
494			var isstatus = jQuery(this).children('img').attr('icon_status');
495			if ( isstatus == 'on' ) {
496				jQuery(this).addClass('on');
497			}
498		});
499		jQuery('.ec-base-product .prdList .icon__box .wish').click(function(){
500			var isstatus = jQuery(this).children('img').attr('icon_status');
501			if ( isstatus == 'off' ) {
502				jQuery(this).addClass('on');
503			} else {
504				jQuery(this).removeClass('on');
505			}
506		});
507	},200)
508	jQuery('.ec-base-product .prdList > li').each(function(){
509		/* 상품진열 장바구니 사용안할시 숨김 */
510		if (jQuery(".icon__box .cart > .ec-admin-icon", this).length == 1) {
511		} else {
512			jQuery('.icon__box .cart', this).hide();
513		}
514		/* 상품진열 옵션미리보기 사용안할시 숨김 */
515		if (jQuery(".icon__box .option > a", this).length == 1) {
516		} else {
517			jQuery('.icon__box .option', this).hide();
518		}
519		/* 상품진열 관심상품 사용안할시 숨김 */
520		if (jQuery(".icon__box .wish > .ec-product-listwishicon", this).length == 1) {
521		} else {
522			jQuery('.icon__box .wish', this).hide();
523		}
524	});
525}
526//window popup script
527function winPop(url) {
528    window.open(url, "popup", "width=300,height=300,left=10,top=10,resizable=no,scrollbars=no");
529}
530/**
531 * document.location.href split
532 * return array Param
533 */
534function getQueryString(sKey)
535{
536    var sQueryString = document.location.search.substring(1);
537    var aParam       = {};
538
539    if (sQueryString) {
540        var aFields = sQueryString.split("&");
541        var aField  = [];
542        for(var i=0; i<aFields.length; i++){
543            aField = aFields[i].split('=');
544            aParam[aField[0]] = aField[1];            
545        }
546    }
547
548    aParam.page = aParam.page ? aParam.page : 1;
549    return sKey ? aParam[sKey] : aParam;
550};
551
552/**
553  *  구매버튼
554*/
555var globalBuyBtnScrollFunc = function() {
556    // 구매버튼 관련변수
557    var sFixId = $('#orderFixItem').length > 0  ? 'orderFixItem' : 'fixedActionButton',
558        $area = $('#orderFixArea'),
559        $item = $('#' + sFixId + '').not($area);
560
561    $(window).scroll(function(){
562        try {
563             // 구매버튼 관련변수
564            var iCurrentHeightPos = $(this).scrollTop() + $(this).height(),
565                iButtonHeightPos = $item.offset().top;
566
567            if (iCurrentHeightPos > iButtonHeightPos || iButtonHeightPos < $(this).scrollTop() + $item.height()) {
568                if (iButtonHeightPos < $(this).scrollTop() - $item.height()) {
569                    $area.fadeIn('fast');
570                } else {
571                    $area.hide();
572                }
573            } else {
574                $area.fadeIn('fast');
575            }
576        } catch(e) { }
577    });
578};
579
580
581$(function(){
582    // tab
583    $.eTab = function(ul) {
584        $(ul).find('a').on('click', function() {
585            var _li = $(this).parent('li').addClass('selected').siblings().removeClass('selected'),
586                _target = $(this).attr('href'),
587                _siblings = '.' + $(_target).attr('class');
588            $(_target).show().siblings(_siblings).hide();
589            return false
590        });
591    }
592    if ( window.call_eTab ) {
593        call_eTab();
594    };
595    globalBuyBtnScrollFunc();
596});
597(function($){
598    $.fn.extend({
599        center: function() {
600            this.each(function() {
601                var
602                    $this = $(this),
603                    $w = $(window);
604                $this.css({
605                    position: "absolute",
606                    top: ~~(($w.height() - $this.outerHeight()) / 2) + $w.scrollTop() + "px",
607                    left: ~~(($w.width() - $this.outerWidth()) / 2) + $w.scrollLeft() + "px"
608                });
609            });
610            return this;
611        }
612    });
613    $(function() {
614        var $container = function(){/*
615    <div id="modalContainer">
616        <iframe id="modalContent" scroll="0" scrolling="no" frameBorder="0"></iframe>
617    </div>');
618    */}.toString().slice(14,-3);
619        $('body')
620        .append($('<div id="modalBackpanel"></div>'))
621        .append($($container));
622        function closeModal () {
623            $('#modalContainer').hide();
624            $('#modalBackpanel').hide();
625        }
626        $('#modalBackpanel').on('click',closeModal);
627        zoom = function ($piProductNo, $piCategoryNo, $piDisplayGroup) {
628            var $url = '/product/image_zoom.html?product_no=' + $piProductNo + '&cate_no=' + $piCategoryNo + '&display_group=' + $piDisplayGroup;
629            $('#modalContent').attr('src', $url);
630            $('#modalContent').on("load",function(){
631                $(".header .close",this.contentWindow.document.body).on("click", closeModal);
632            });
633            $('#modalBackpanel').css({width:$("body").width(),height:$("body").height(),opacity:.4}).show();
634            $('#modalContainer').center().show();
635        }
636    });
637})(jQuery);
638EC$(function($) {
639    // 플랫폼 감지
640    var filter = "win16|win32|win64|mac|macintel";
641    var device = "pc";
642    if (navigator.platform) {
643        if (filter.indexOf(navigator.platform.toLowerCase()) < 0) {
644            device = "mobile";
645        }
646    }
647
648    /**
649     * 상품상세 - 소비자가 할인표시
650     */
651    function applyDetailPageDiscount() {
652        var oPriceInfoEl = $('#ec-product-price-info');
653        if (oPriceInfoEl.length > 0) {
654            var salePriceEl = $('.pricing .salemark');
655            // 중복 추가 방지를 위한 조건 추가
656            if (!salePriceEl.find('.ec-sale-rate').length) {
657                percentageCulDetail(oPriceInfoEl, salePriceEl); 
658            }
659        }
660    }
661
662    /**
663     * 상품목록 - 소비자가 할인표시
664     */
665    function applyListPageDiscount() {
666        var mainEl = $("#container");
667        if (mainEl.length > 0) { 
668            var productListEl = $('.xans-product-listmain, .xans-product-listrecommend, .xans-product-listnew, .xans-product-listnormal, .xans-search-result');
669            productListEl.each(function() {
670                var prdListEl = $(this).find('.prdList .item');
671                prdListEl.each(function() {
672                    var priceEl = $(this).find('.description');
673                    var salePriceEl = $(this).find('.spec li:first-child');
674                    // 중복 추가 방지를 위한 조건 추가
675                    if (!salePriceEl.find('.ec-sale-rate').length) {
676                        percentageCul(priceEl, salePriceEl);
677                    }
678
679                    // Add hover event to mark elements
680                    salePriceEl.hover(
681                        function() {
682                            $(this).addClass('mark-hover');
683                        },
684                        function() {
685                            $(this).removeClass('mark-hover');
686                        }
687                    );
688                });
689            });
690        }
691    }
692
693    function percentageCul(target, salePriceEl) {
694        var iCustomPrice = parseInt((target.attr('ec-data-custom') || "0").replace(/[^0-9]/g, ""), 10);
695        var iPrice = parseInt((target.attr('ec-data-price') || "0").replace(/[^0-9]/g, ""), 10);
696
697        // 🔹 ec-data-sale 대신 실제 HTML에서 할인판매가(span) 텍스트 추출
698        var salePriceText = target.closest('.item').find('li[rel="할인판매가"] > span').first()
699        .clone() // 내부 (회원 할인 등) span 제거용 복제
700        .children().remove().end()
701        .text().trim();
702        var iSale = parseInt((salePriceText || "0").replace(/[^0-9]/g, ""), 10);
703
704        // 계산용: 할인판매가가 있으면 그것을 최종 판매가로 사용
705        var finalPrice = iSale > 0 ? iSale : iPrice;
706        var iOfftoFixed = 0;
707        var sSaleText = '';
708
709        // 클래스 처리
710        if (iSale > 0 && iPrice > 0 && iSale < iPrice) { 
711            target.find('.spec li[rel="판매가"]').addClass('sale'); 
712        }        
713        if (iCustomPrice <= 0 || isNaN(iCustomPrice) || iPrice === iCustomPrice) {  
714            target.find('.spec li[rel="소비자가"]').addClass('displaynone'); 
715        } else if (iSale > 0 && iCustomPrice > 0 && iPrice > 0) {  
716            target.find('.spec li[rel="판매가"] span').addClass('displaynone');
717        }
718
719        // 🔹 할인율 계산
720        if (iCustomPrice > 0 && finalPrice > 0) {
721            if (finalPrice < iCustomPrice) { 
722                sSaleText = (((iCustomPrice - finalPrice) / iCustomPrice) * 100).toFixed(iOfftoFixed) + '%'; 
723            }
724        } else if (iPrice > 0 && finalPrice > 0 && finalPrice < iPrice) { 
725            sSaleText = (((iPrice - finalPrice) / iPrice) * 100).toFixed(iOfftoFixed) + '%';
726        }
727
728        // 🔹 표시
729        if (sSaleText && sSaleText.trim() !== '0%' && sSaleText.trim() !== '0.00%' && sSaleText.trim() !== '0원 할인') {
730            salePriceEl.prepend("<div class='ec-sale-rate'>" + sSaleText + "</div>");
731        }
732
733        // 🔹 콘솔로 확인용 (필요 시)
734        // console.log('소비자가:', iCustomPrice, '판매가:', iPrice, '할인판매가:', iSale, '할인율:', sSaleText);
735    }
736
737    function percentageCulDetail(target, salePriceEl) {
738        var customPrice = parseInt((target.attr('ec-data-custom') || "0").replace(/[^0-9]/g, ""), 10);
739        var price = parseInt((target.attr('ec-data-price') || "0").replace(/[^0-9]/g, ""), 10); 
740        var salePriceText = $('#span_product_price_sale').text().split(' ')[0];  
741        var salePrice = parseInt(salePriceText.replace(/[^0-9]/g, ''), 10); 
742        
743        
744        var offToFixed = 0;
745        var saleText = ''; 
746        var regexp = /\B(?=(\d{3})+(?!\d))/g;
747 
748        
749        if (salePrice > 0) { 
750            salePriceEl.addClass('sale');
751        }        
752        if (customPrice <= 0 || price === customPrice) {  
753            $('.xans-product-detail .infoArea .pricing .consumer_price').hide();  
754        } else if (salePrice > 0 && customPrice > 0 && price > 0 ) { 
755            salePriceEl.addClass('sale2');
756        }
757
758        if (customPrice > 0 && price > 0) {
759            if (salePrice > 0) {  
760                saleText = (((customPrice - salePrice) / customPrice) * 100).toFixed(offToFixed) + '%'; 
761            } else if (price != customPrice) { 
762                saleText = (((customPrice - price) / customPrice) * 100).toFixed(offToFixed) + '%';
763            }  
764        } else if (price > 0 && salePrice > 0) {  
765            saleText = (((price - salePrice) / price) * 100).toFixed(offToFixed) + '%';  
766        }
767
768        if (saleText.trim() !== '0%' && saleText.trim() !== '0.00%' && saleText.trim() !== '0원 할인') {
769            salePriceEl.prepend("<div class='ec-sale-rate'>" + saleText + "</div>");
770        }
771    }
772
773    /* 페이지 로드 시 할인율 적용 */
774    if ($('#ec-product-price-info').length > 0) {
775        applyDetailPageDiscount();
776    }
777    if ($("#container").length > 0) {
778        applyListPageDiscount();
779    }
780
781    /* [더보기] 버튼 클릭 시 상품 로딩되고 0.6초 후 재계산 */
782    jQuery(".btnMore").click(function() {
783        if ($("#container").length > 0) {
784            setTimeout(function() {
785                applyListPageDiscount();
786            }, 600);
787        }
788    });
789
790    // 상품상세 페이지에서 상품 목록이 추가될 때 할인율 적용
vendor: 7,772 bytes, lines 791-812
791    $(document).ajaxComplete(function(event, xhr, settings) {
792        if (settings.url.includes("detail_product_list")) { // AJAX로 상품목록이 추가되는 URL 조건
793            setTimeout(function() {
794                applyListPageDiscount();
795            }, 600); // 상품목록이 추가된 후 할인율 재계산
796        }
797    });
798
799});
800 
801/ * 후기 : 0 일때 미노출되는 스크립트 * /
802
803$(document).ready(function(){ 
804	$(".description .review").each(function(){  
805		if( $(this).html().substring(0,10) == '0' ) { 
806			$(this).closest('li').css("display","none"); 
807        }else{
808            $(this).prepend('<span> ' + "리뷰 " + '</span>');
809        }
810	});
811});
812!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AOS=t():e.AOS=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},r=n(1),a=(o(r),n(6)),u=o(a),c=n(7),f=o(c),s=n(8),d=o(s),l=n(9),p=o(l),m=n(10),b=o(m),v=n(11),y=o(v),g=n(14),h=o(g),w=[],k=!1,x=document.all&&!window.atob,j={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,startEvent:"DOMContentLoaded",throttleDelay:99,debounceDelay:50,disableMutationObserver:!1},O=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e&&(k=!0),k)return w=(0,y.default)(w,j),(0,b.default)(w,j.once),w},_=function(){w=(0,h.default)(),O()},S=function(){w.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")})},z=function(e){return e===!0||"mobile"===e&&p.default.mobile()||"phone"===e&&p.default.phone()||"tablet"===e&&p.default.tablet()||"function"==typeof e&&e()===!0},A=function(e){return j=i(j,e),w=(0,h.default)(),z(j.disable)||x?S():(document.querySelector("body").setAttribute("data-aos-easing",j.easing),document.querySelector("body").setAttribute("data-aos-duration",j.duration),document.querySelector("body").setAttribute("data-aos-delay",j.delay),"DOMContentLoaded"===j.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?O(!0):"load"===j.startEvent?window.addEventListener(j.startEvent,function(){O(!0)}):document.addEventListener(j.startEvent,function(){O(!0)}),window.addEventListener("resize",(0,f.default)(O,j.debounceDelay,!0)),window.addEventListener("orientationchange",(0,f.default)(O,j.debounceDelay,!0)),window.addEventListener("scroll",(0,u.default)(function(){(0,b.default)(w,j.once)},j.throttleDelay)),j.disableMutationObserver||(0,d.default)("[data-aos]",_),w)};e.exports={init:A,refresh:O,refreshHard:_}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function n(e,t,n){function o(t){var n=b,o=v;return b=v=void 0,k=t,g=e.apply(o,n)}function r(e){return k=e,h=setTimeout(s,t),_?o(e):g}function a(e){var n=e-w,o=e-k,i=t-n;return S?j(i,y-o):i}function c(e){var n=e-w,o=e-k;return void 0===w||n>=t||n<0||S&&o>=y}function s(){var e=O();return c(e)?d(e):void(h=setTimeout(s,a(e)))}function d(e){return h=void 0,z&&b?o(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),k=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(O())}function m(){var e=O(),n=c(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(s,t),o(w)}return void 0===h&&(h=setTimeout(s,t)),g}var b,v,y,g,h,w,k=0,_=!1,S=!1,z=!0;if("function"!=typeof e)throw new TypeError(f);return t=u(t)||0,i(n)&&(_=!!n.leading,S="maxWait"in n,y=S?x(u(n.maxWait)||0,t):y,z="trailing"in n?!!n.trailing:z),m.cancel=l,m.flush=p,m}function o(e,t,o){var r=!0,a=!0;if("function"!=typeof e)throw new TypeError(f);return i(o)&&(r="leading"in o?!!o.leading:r,a="trailing"in o?!!o.trailing:a),n(e,t,{leading:r,maxWait:t,trailing:a})}function i(e){var t="undefined"==typeof e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==("undefined"==typeof e?"undefined":c(e))}function a(e){return"symbol"==("undefined"==typeof e?"undefined":c(e))||r(e)&&k.call(e)==d}function u(e){if("number"==typeof e)return e;if(a(e))return s;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(l,"");var n=m.test(e);return n||b.test(e)?v(e.slice(2),n?2:8):p.test(e)?s:+e}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f="Expected a function",s=NaN,d="[object Symbol]",l=/^\s+|\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,y="object"==("undefined"==typeof t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,h=y||g||Function("return this")(),w=Object.prototype,k=w.toString,x=Math.max,j=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function n(e,t,n){function i(t){var n=b,o=v;return b=v=void 0,O=t,g=e.apply(o,n)}function r(e){return O=e,h=setTimeout(s,t),_?i(e):g}function u(e){var n=e-w,o=e-O,i=t-n;return S?x(i,y-o):i}function f(e){var n=e-w,o=e-O;return void 0===w||n>=t||n<0||S&&o>=y}function s(){var e=j();return f(e)?d(e):void(h=setTimeout(s,u(e)))}function d(e){return h=void 0,z&&b?i(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),O=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(j())}function m(){var e=j(),n=f(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(s,t),i(w)}return void 0===h&&(h=setTimeout(s,t)),g}var b,v,y,g,h,w,O=0,_=!1,S=!1,z=!0;if("function"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(_=!!n.leading,S="maxWait"in n,y=S?k(a(n.maxWait)||0,t):y,z="trailing"in n?!!n.trailing:z),m.cancel=l,m.flush=p,m}function o(e){var t="undefined"==typeof e?"undefined":u(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==("undefined"==typeof e?"undefined":u(e))}function r(e){return"symbol"==("undefined"==typeof e?"undefined":u(e))||i(e)&&w.call(e)==s}function a(e){if("number"==typeof e)return e;if(r(e))return f;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=p.test(e);return n||m.test(e)?b(e.slice(2),n?2:8):l.test(e)?f:+e}var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c="Expected a function",f=NaN,s="[object Symbol]",d=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,m=/^0o[0-7]+$/i,b=parseInt,v="object"==("undefined"==typeof t?"undefined":u(t))&&t&&t.Object===Object&&t,y="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,g=v||y||Function("return this")(),h=Object.prototype,w=h.toString,k=Math.max,x=Math.min,j=function(){return g.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){"use strict";function n(e,t){var n=new r(o);a=t,n.observe(i.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}function o(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(e.addedNodes),n=Array.prototype.slice.call(e.removedNodes
812),o=t.concat(n).filter(function(e){return e.hasAttribute&&e.hasAttribute("data-aos")}).length;o&&a()})}Object.defineProperty(t,"__esModule",{value:!0});var i=window.document,r=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,a=function(){};t.default=n},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(){return navigator.userAgent||navigator.vendor||window.opera||""}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),r=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,a=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,u=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,c=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
812sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,f=function(){function e(){n(this,e)}return i(e,[{key:"phone",value:function(){var e=o();return!(!r.test(e)&&!a.test(e.substr(0,4)))}},{key:"mobile",value:function(){var e=o();return!(!u.test(e)&&!c.test(e.substr(0,4)))}},{key:"tablet",value:function(){return this.mobile()&&!this.phone()}}]),e}();t.default=new f},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t,n){var o=e.node.getAttribute("data-aos-once");t>e.position?e.node.classList.add("aos-animate"):"undefined"!=typeof o&&("false"===o||!n&&"true"!==o)&&e.node.classList.remove("aos-animate")},o=function(e,t){var o=window.pageYOffset,i=window.innerHeight;e.forEach(function(e,r){n(e,i+o,t)})};t.default=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(12),r=o(i),a=function(e,t){return e.forEach(function(e,n){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)}),e};t.default=a},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(13),r=o(i),a=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=e.offsetHeight/2;break;case"bottom-bottom":n+=e.offsetHeight;break;case"top-center":n+=i/2;break;case"bottom-center":n+=i/2+e.offsetHeight;break;case"center-center":n+=i/2+e.offsetHeight/2;break;case"top-top":n+=i;break;case"bottom-top":n+=e.offsetHeight+i;break;case"center-top":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,function(e){return{node:e}})};t.default=n}])});
813
814$(window).on('load', function () {
815    setFlowBanner();  
816})
817
818function setFlowBanner(){
819    const $wrap = $('.flow_banner');
820    const $list = $('.flow_banner .list');
821    let wrapWidth = ''; //$wrap의 가로 크기
822    let listWidth = ''; //$list의 가로 크기
823    const speed = 22; //1초에 몇픽셀 이동하는지 설정
824
825    //리스트 복제
826    let $clone = $list.clone();
827    $wrap.append($clone);
828    flowBannerAct()
829
830    //반응형 :: 디바이스가 변경 될 때마다 배너 롤링 초기화
831    let oldWChk = window.innerWidth > 1279 ? 'pc' : window.innerWidth > 767 ? 'ta' : 'mo';
832    $(window).on('resize', function() {
833        let newWChk = window.innerWidth > 1279 ? 'pc' : window.innerWidth > 767 ? 'ta' : 'mo';
834        if (newWChk != oldWChk) {
835            oldWChk = newWChk;
836            flowBannerAct();
837        }
838    });
839
840    //배너 실행 함수
841    function flowBannerAct() {
842        //배너 롤링 초기화
843        if(wrapWidth != ''){
844            $wrap.find('.list').css({ 'animation': 'none' });
845            $wrap.find('.list').slice(2).remove();
846        }
847        wrapWidth = $wrap.width();
848        listWidth = $list.width();
849
850        //무한 반복을 위해 리스트를 복제 후 배너에 추가
851        if (listWidth < wrapWidth) {
852            const listCount = Math.ceil(wrapWidth * 2 / listWidth);
853            for (let i = 2; i < listCount; i++) {
854                $clone = $clone.clone();
855                $wrap.append($clone);
856            }
857        }
858        $wrap.find('.list').css({ 'animation': `${listWidth / speed}s linear infinite flowRolling` }); 
859    } 
860} 
861function navigo() {
862    const header = document.querySelector('#our_header');
863    const header_inner = document.querySelector('#our_header .header');
864    let lastScrollTop = 0;
865
866    function onScroll() {
867        const scrollPosition = window.scrollY;
868        const windowWidth = window.innerWidth;
869        
870        if (scrollPosition > 40 ) {
871            if (scrollPosition > lastScrollTop) {
872                header.classList.add('fix');
873                header.classList.remove('up');
874            } else { 
875                if (windowWidth <= 1280) {
876                    header.classList.add('up'); 
877                }
878            }
879        } else {
880            header.classList.remove('fix', 'up');
881        }
882
883        lastScrollTop = scrollPosition <= 0 ? 0 : scrollPosition; // 스크롤 위치 갱신
884    }
885
886    function onMouseOver() {
887        header.classList.add('on');
888    }
889
890    function onMouseOut() {
891        header.classList.remove('on');
892    }
893
894    // 스크롤 이벤트 리스너 등록
895    document.addEventListener('scroll', onScroll, { passive: true });
896    header_inner.addEventListener('mouseover', onMouseOver);
897    header_inner.addEventListener('mouseout', onMouseOut);
898
899    // 페이지 로드 시 스크롤 위치를 체크하여 fix 클래스 적용
900    document.addEventListener('DOMContentLoaded', () => {
901        onScroll();  // 페이지가 로드되면 스크롤 위치에 따라 한 번 실행
902    });
903}
904
905navigo();
906document.addEventListener('DOMContentLoaded', function () {
907    const items = document.querySelectorAll('.footer .info .item');
908
909    items.forEach(item => {
910        item.querySelector('.title').addEventListener('click', function () {
911            const content = item.querySelector('.tablet_fold');
912            const icon = item.querySelector('.icon');
913            const isOpen = item.classList.contains('open');
914
915            if (isOpen) {
916                // 닫기 애니메이션
917                content.style.height = content.scrollHeight + 'px';
918                requestAnimationFrame(() => {
919                    content.style.height = '0px';
920                });
921                icon.textContent = '+';
922            } else {
923                // 열기 애니메이션
924                content.style.height = 'auto';
925                const height = content.scrollHeight + 'px';
926                content.style.height = '0px';
927                requestAnimationFrame(() => {
928                    content.style.height = height;
929                });
930                icon.textContent = '-';
931            }
932
933            content.addEventListener('transitionend', () => {
934                if (isOpen) {
935                    content.style.height = '0px';
936                } else {
937                    content.style.height = 'auto';
938                }
939            }, { once: true });
940
941            item.classList.toggle('open');
942        });
943    });
944});
945$(document).ready(function() {
946    $(document).scroll(function(event) {
947        var scroll = $(this).scrollTop(); 
948        if (scroll > 200) {
949            $(".gobtn").addClass("on");
950        } else {
951            $(".gobtn").removeClass("on");
952        }
953    });
954
955    $('a[href="#top"]').click(function(e){
956        e.preventDefault();
957        $('html, body').animate({
958            scrollTop: 0
959        }, 500);
960    });
961
962    $('a[href="#down"]').click(function() {
963        $('html, body').animate({
964            scrollTop: $(document).height()
965        }, 800);
966    }); 
967}); 
968
969
970document.addEventListener("DOMContentLoaded", function() {
971    let btNav = document.getElementById("bt_nav");
972    let lastScrollY = window.scrollY;
973    
974    window.addEventListener("scroll", function() {
975        let currentScrollY = window.scrollY;
976 
977        if (currentScrollY < lastScrollY) {
978            btNav.classList.add("on");  
979        } else {
980            btNav.classList.remove("on"); 
981        }
982
983        lastScrollY = currentScrollY;
984    });
985});
986$(document).ready(function() {
987    let scrollPosition = 0;
988
989    // 메뉴 버튼 클릭 이벤트
990    $('.menu-button').on('click', function() {
991        const $nav = $("#our_m_nav");
992        const $body = $("body");
993
994        // 현재 스크롤 위치 저장
995        scrollPosition = $(window).scrollTop();
996        // 스크롤 차단 및 현재 위치 고정
997        $body.css({
998            position: "fixed",
999            top: `-${scrollPosition}px`,
1000            width: "100%"
1001        });
1002        // 메뉴 활성화
1003        $nav.addClass('on'); 
1004        $(".all_menu_area").addClass("on");
1005    });
1006
1007    // 메뉴 닫기 버튼 클릭 이벤트
1008    $(".m_nav_close").click(function() {
1009        const $nav = $("#our_m_nav");
1010        const $body = $("body");
1011
1012        // 메뉴 비활성화
1013        $nav.removeClass('on');
1014        $(".all_menu_area").removeClass('on');
1015        $body.css({
1016            position: "",
1017            top: "",
1018            width: ""
1019        });
1020        // 원래 스크롤 위치 복구
1021        $(window).scrollTop(scrollPosition);
1022    });
1023
1024    // 전체 메뉴 닫기 버튼 클릭 이벤트
1025    $(".all_menu_close").click(function() {
1026        const $nav = $("#our_m_nav");
1027        const $body = $("body");
1028
1029        // 메뉴 비활성화  
1030        $nav.removeClass('on');
1031        $(".all_menu_area").removeClass('on');
1032        $body.css({
1033            position: "",
1034            top: "",
1035            width: ""
1036        });
1037        // 원래 스크롤 위치 복구
1038        $(window).scrollTop(scrollPosition);
1039    });
1040});
1041
1042
1043
1044$(document).ready(function() {
1045    const acc = $('#our_m_nav .our_accordion');
1046    const menuItems = $('#our_m_nav .our_accordion .submenu a'); // 메뉴 항목 선택
1047
1048    function closeAllPanels() {
1049        acc.each(function() {
1050            const panel = $(this).find('.submenu');
1051            const isActive = $(this).hasClass('active');
1052
1053            if (isActive) {
1054                $(this).removeClass('active');
1055                panel.css('height', '0');
1056            }
1057        });
1058    }
1059
1060    function openPanel(panel) {
1061        panel.css('height', panel[0].scrollHeight + 'px'); // 패널의 실제 높이 설정
1062        panel.addClass('open');
1063    }
1064
1065    function closePanel(panel) {
1066        panel.css('height', panel[0].scrollHeight + 'px'); // Set to current height
1067        setTimeout(() => {
1068            panel.css('height', '0'); // Smooth transition to close
1069        }, 30);
1070        panel.on('transitionend', function() { 
1071            // Transition end 처리
1072        });
1073    }
1074
1075    acc.on('click', function(event) {
1076        event.stopPropagation(); // 클릭 이벤트 전파 중지
1077
1078        const panel = $(this).find('.submenu');
1079
1080        if ($(this).hasClass('active')) {
1081            closePanel(panel);
1082            $(this).removeClass('active');
1083        } else {
1084            // 모든 패널 닫기
1085            closeAllPanels();
1086
1087            // 클릭된 패널 열기
1088            $(this).addClass('active');
1089            openPanel(panel);
1090        }
1091    });
1092
1093    // 메뉴 항목 클릭 시 아코디언 닫힘 방지
1094    menuItems.on('click', function(event) {
1095        event.stopPropagation(); // 클릭 이벤트 전파 중지
1096    });
1097});
1098$(".ico_search").click( function(){ 
1099    $(".search_area").addClass("on");      
1100});
1101$(".search-close").click( function(){ 
1102    $(".search_area").removeClass("on");   
1103}); 
1104
1105 
1106
1107$(".ico_user").click( function(){ 
1108    $(".myshop_area").addClass("on");      
1109});
1110$(".myshop-close").click( function(){ 
1111    $(".myshop_area").removeClass("on");   
1112}); 
1113
1114
1115// placeholder
1116$(function() {
1117    function loginPlaceholder(){
1118        if ($('.xans-member-login').val() != undefined) {
1119            var loginId = $('#member_id').parent().attr('title');
1120            $('#member_id').attr('placeholder', 'ID');
1121            $('#member_passwd').attr('placeholder', 'Password');
1122        }
1123    }
1124    loginPlaceholder();
1125});
1126
1127// keyboard
1128$('.keyboard button').on('click', function(){
1129    if($(this).hasClass('selected')==true){
1130        $('.keyboard .btnKey').removeClass('selected');
1131        $('.view div').hide();
1132    }
1133    else{
1134        $('.keyboard .btnKey').removeClass('selected');
1135        $('.view div').hide();
1136        $(this).addClass('selected');
1137        var key=$(this).attr('title');
1138        $(this).parent().next().children('.'+key+'').show();
1139    }
1140});
1141 
1142 
1143 $(document).ready(function() { 
1144    var url = window.location.href; 
1145    if (url.includes("noMemberOrder")) { 
1146        $('#member_login_module_id').hide(); 
1147    } else { 
1148    }
1149});
1150 

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.