PageSourceSearch

https://dment.co.kr/ind-script/optimizer_user.php?filename=jY5BDsI…06ef761e0eab04e48eeb9fa&t=1689825828&user=T

js dment.co.kr collected 2026-09-25 06:58:16 UTC 45,483 bytes, 985 lines download raw bytes

1/**
2 * 상품상세 섬네일 롤링
3 */
4$(document).ready(function(){
5    $.fn.prdImg = function(parm){
6        var index = 0;
7        var target = parm.target;
8        var view = parm.view;
9        var listWrap = target.find('.xans-product-addimage');
10        var limit = listWrap.find('> ul > li').length;
11        var ul = target.find('.xans-product-addimage > ul');
12        var liFirst = target.find('.xans-product-addimage > ul > li:first-child');
13        var liWidth = parseInt(liFirst.width());
14        var liHeight = parseInt(liFirst.height());
15        var blockWidth = liWidth + parseInt(liFirst.css('marginRight')) + parseInt(liFirst.css('marginLeft'));
16        var columWidth = blockWidth * view;
17        var colum = Math.ceil(limit / view);
18
19        var roll = {
20            init : function(){
21                function struct(){
22                    var ulWidth = limit * parseInt(blockWidth);
23                    listWrap.append('<button type="button" class="prev">이전</button>');
24                    listWrap.append('<button type="button" class="next">다음</button>');
25                    ul.css({'position':'absolute', 'left':0, 'top':0, 'width':ulWidth});
26                    listWrap.find('> ul > li').each(function(){
27                        $(this).css({'float':'left'});
28                    });
29                    listWrap.css({'position':'relative', 'height':liHeight});
30
31                    var prev = listWrap.find('.prev');
32                    var next = listWrap.find('.next');
33
34                    prev.click(function(){
35                        if(index > 0){
36                            index --;
37                        }
38                        roll.slide(index);
39                    });
40                    next.click(function(){
41                        if(index < (colum-1) ){
42                            index ++;
43                        }
44                        roll.slide(index);
45                    });
46                    if(index == 0){
47                        prev.hide();
48                    } else {
49                        prev.show();
50                    }
51                    if(index >= (colum-1)){
52                        next.hide();
53                    } else {
54                        next.show();
55                    }
56                }
57                if(limit > view){
58                    struct();
59                }
60            },
61            slide : function(index){
62                var left = '-' + (index * columWidth) +'px';
63                var prev = listWrap.find('.prev');
64                var next = listWrap.find('.next');
65                if(index == 0){
66                    prev.hide();
67                } else {
68                    prev.show();
69                }
70                if(index >= (colum-1)){
71                    next.hide();
72                } else {
73                    next.show();
74                }
75                ul.stop().animate({'left':left},500);
76            }
77        }
78        roll.init();
79    };
80
81    // 함수호출 : 상품상세 페이지
82    $.fn.prdImg({
83        target : $('.xans-product-image'),
84        view : 5
85    });
86
87    // 함수호출 : 상품확대보기팝업
88    $.fn.prdImg({
89        target : $('.xans-product-zoom'),
90        view : 5
91    });
92
93});
94/**
95 * 상품상세 사용후기
96 */
97$(document).ready(function(){
98    $('.xans-product-review a').click(function(e) {
99        e.preventDefault();
100
101        var no = $(this).attr('href').replace(/(\S*)[?&]no=(\d+)(\S*)/g, '$2');
102        var $obj = $('#product-review-read_'+no);
103
104        //로드된 엘리먼트 존재 체크
105        if ($obj.length > 0) {
106            if ($obj.css('display') =='none') {
107                $obj.show();
108            } else {
109                $obj.hide();
110            }
111            return;
112        }
113
114        REVIEW.getReadData($(this));
115    });
116});
117
118var PARENT = '';
119
120var OPEN_REVIEW = '';
121
122var REVIEW = {
123    getReadData : function(obj, eType)
124    {
125        if (obj != undefined) {
126            PARENT = obj;
127            var sHref = obj.attr('href');
128            var pNode = obj.parents('tr');
129            var pass_check = '&pass_check=F';
130        } else {
131            var sHref = PARENT.attr('href');
132            var pNode = PARENT.parents('tr');
133            var pass_check = '&pass_check=T';
134        }
135
136        var sQuery = sHref.split('?');
137
138        var sQueryNo = sQuery[1].split('=');
139        if (OPEN_REVIEW == sQueryNo[1]) {
140            $('#product-review-read').remove();
141            OPEN_REVIEW = '';
142            return false;
143        } else {
144            OPEN_REVIEW = sQueryNo[1];
145        }
146
147        $.ajax({
148            url : '/exec/front/board/product/4?'+sQuery[1]+pass_check,
149            dataType: 'json',
150            success: function(data) {
151                $('#product-review-read').remove();
152
153                var sPath = document.location.pathname;
154                var sPattern = /^\/product\/(.+)\/([0-9]+)(\/.*)/;
155                var aMatchResult = sPath.match(sPattern);
156
157                if (aMatchResult) {
158                    var iProductNo = aMatchResult[2];
159                } else {
160                    var iProductNo = getQueryString('product_no');
161                }
162
163                var aHtml = [];
164
165                //읽기 권한 체크
166                if (false === data.read_auth && eType == undefined) {
167                    alert(decodeURIComponent(data.alertMSG));
168
169                    //로그인페이지 이동
170                    if (data.returnUrl != undefined) {
171                        location.replace("/member/login.html?returnUrl=" + data.returnUrl);
172                    }
173                    return false;
174                }
175
176                if (data.is_secret == true) {
177                    // 비밀글 비밀번호 입력 폼
178                    aHtml.push('<form name="SecretForm_4" id="SecretForm_4">');
179                    aHtml.push('<input type="text" name="a" style="display:none;">');
180                    aHtml.push('<div class="view"><p>비밀번호 <input type="password" id="secure_password" name="secure_password" onkeydown="if (event.keyCode == 13) '+data.action_pass_submit+'"> <span class="bt_xsmall"><a href="#none" onclick"'+data.action_pass_submit+'">확인</a></a></p></div>');                    
181                    aHtml.push('</form>');
182                } else {
183                    // 글 내용
184                    if (data.read['content_image'] != null) {
185                        var sImg = data.read['content_image'];
186                    } else {
187                        var sImg = '';
188                    }
189
190                    aHtml.push('<div class="view">');
191                    aHtml.push('<p>'+data.read['content']+'</p>');
192                    aHtml.push('<p>'+sImg+'</p>');
193                    aHtml.push('<p class="ec-base-button"><span class="gLeft">');
194                    if (data.write_auth == true) {
195                        aHtml.push('<span class="bt_xsmall"><a href="/board/product/modify.html?board_act=edit&no='+data.no+'&board_no=4&link_product_no='+iProductNo+'">게시글 수정</a></span>');
196                    }
197                    aHtml.push('</span></p>');
198                    aHtml.push('</div>');
199
200                    // 댓글리스트
201                    if (data.comment != undefined && data.comment.length != undefined) {
202                        aHtml.push('<ul class="boardComment">');
203                        for (var i=0; data.comment.length > i; i++) {
204                            //댓글리스트
205                            if (data.comment[i]['comment_reply_css'] == undefined) {
206                                aHtml.push('<li>');
207                                aHtml.push('<strong class="name">'+data.comment[i]['member_icon']+' '+data.comment[i]['comment_name']+'</strong>');
208                                aHtml.push('<span class="date">'+data.comment[i]['comment_write_date']+'</span>');
209                                aHtml.push('<span class="grade '+data.use_point+'"><img src="/web/upload/design/ico_point'+data.comment[i]['comment_point_count']+'.gif" alt="'+data.comment[i]['comment_point_count']+'점" /></span>');
210                                if (data.comment[i]['comment_reply_display'] == true) {
211                                    aHtml.push('<span class="button bt_xsmall">'+'<a href="#none" onclick="'+data.comment[i]['action_comment_reply']+'">댓글</a>'+'</span>');
212                                }
213                                aHtml.push('<p class="comment">'+data.comment[i]['comment_icon_lock']+' '+data.comment[i]['comment_content']+'</p>');
214                                aHtml.push('</li>');
215                            } else {
216                                //댓글의 댓글리스트
217                                aHtml.push('<li class="replyArea">');
218                                aHtml.push('<strong class="name">'+data.comment[i]['member_icon']+' '+data.comment[i]['comment_name']+'</strong>');
219                                aHtml.push('<span class="date">'+data.comment[i]['comment_write_date']+'</span>');
220                                aHtml.push('<p class="comment">'+data.comment[i]['comment_icon_lock']+' '+data.comment[i]['comment_content']+'</p>');
221                                aHtml.push('</li>');
222                            }
223                        }
224                        aHtml.push('</ul>');
225                    }
226
227                    // 댓글쓰기
228                    if (data.comment_write != undefined) {
229                        aHtml.push('<form name="commentWriteForm_4'+data.key+'" id="commentWriteForm_4'+data.key+'">');
230                        aHtml.push('<div class="memoCont">');
231                        aHtml.push('<div class="writer">');
232                        aHtml.push('<div class="user"><div class="nameArea">이름 '+data.comment_write['comment_name']+' 비밀번호 '+data.comment_write['comment_password']);
233                        if (data.comment_write['comment_secret_display'] == true) {
234                            aHtml.push('<label class="secret">'+data.comment_write['secure']+' 비밀댓글</label>');
235                        }
236                        aHtml.push('<p class="ec-base-help '+data.comment_write['password_rule_help_display_class']+'">영문 대소문자/숫자/특수문자 중 2가지 이상 조합, 10자~16자</p>');
237                        aHtml.push('</div>');
238                        aHtml.push(''+data.comment_write['comment']+'<span class="bt_vertical"><a href="#none" onclick="'+data.comment_write['action_comment_insert']+'" class="gray" style="padding:27px 25px">확인</a></span></div>');
239                        aHtml.push('<p class="rating '+data.comment_write['use_point']+'">'+data.comment_write['comment_point']+'</p>');
240                        aHtml.push('<p class="text '+data.comment_write['use_comment_size']+'">'+data.comment_write['comment_byte']+' / '+data.comment_write['comment_size']+' byte</p>');
241                        aHtml.push('<p class="captcha '+data.comment_write['use_captcha']+'">'+data.comment_write['captcha_image']+data.comment_write['captcha_refresh']+data.comment_write['captcha']+'<img src="//img.echosting.cafe24.com/skin/base/common/ico_info.gif" alt="" /> 왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)</p>');
242                        aHtml.push('</div>');
243                        aHtml.push('</div>');
244                        aHtml.push('</form>');
245                    }
246
247                    // 댓글의 댓글쓰기
248                    if (data.comment_reply != undefined) {
249                        aHtml.push('<form name="commentReplyWriteForm_4'+data.key+'" id="commentReplyWriteForm_4'+data.key+'" style="display:none">');
250                        aHtml.push('<div class="memoCont reply">');
251                        aHtml.push('<div class="writer">');
252                        aHtml.push('<div class="user"><div class="nameArea">이름 '+data.comment_reply['comment_name']+' 비밀번호 '+data.comment_reply['comment_password']);
253                        if (data.comment_reply['comment_secret_display'] == true) {
254                            aHtml.push('<label class="secret">'+data.comment_reply['secure']+' 비밀댓글</label>');
255                        }
256                        aHtml.push('<p class="ec-base-help '+data.comment_write['password_rule_help_display_class']+'">영문 대소문자/숫자/특수문자 중 2가지 이상 조합, 10자~16자</p>');
257                        aHtml.push('</div>');
258                        aHtml.push(''+data.comment_reply['comment']+'<span class="bt_vertical"><a href="#none" onclick="'+data.comment_reply['action_comment_insert']+'" class="gray" style="padding:27px 25px">확인</a></span></div>');
259                        aHtml.push('<p class="text '+data.comment_reply['use_comment_size']+'">'+data.comment_reply['comment_byte']+' / '+data.comment_reply['comment_size']+' byte</p>');
260                        aHtml.push('<p class="captcha '+data.comment_reply['use_captcha']+'">'+data.comment_reply['captcha_image']+data.comment_write['captcha_refresh']+data.comment_reply['captcha']+'<img src="//img.echosting.cafe24.com/skin/base/common/ico_info.gif" alt="" /> 왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)</p>');
261                        aHtml.push('</div>');
262                        aHtml.push('</div>');
263                        aHtml.push('</form>');
264                    }
265                    // 비밀댓글 확인
266                    if (data.comment_secret != undefined) {
267                        aHtml.push('<form name="commentSecretForm_4'+data.key+'" id="commentSecretForm_4'+data.key+'" style="display:none">');
268                        aHtml.push('<div class="commentSecret">');
269                        aHtml.push('<p>비밀번호 : '+data.comment_secret['secure_password']);
270                        aHtml.push(' <span class="bt_xsmall"><a href="#none" onclick="'+data.comment_secret['action_secret_submit']+'">확인</a></span>');
271                        aHtml.push(' <span class="bt_xsmall"><a href="#none" onclick="'+data.comment_secret['action_secret_cancel']+'">취소</a></span></p>');
272                        aHtml.push('</div>');
273                        aHtml.push('</form>');
274                    }
275                }
276
277                $(pNode).after('<tr id="product-review-read'+data.key+'"><td colspan="6">'+aHtml.join('')+'</td></tr>');
278
279                // 평점기능 사용안함일 경우 보여지는 td를 조절하기 위한 함수
280                PRODUCT_COMMENT.comment_colspan(pNode);
281
282                if (data.comment_write != undefined && data.comment_write['use_comment_size'] == '') PRODUCT_COMMENT.comment_byte(4, data.key);
283                if (data.comment_reply != undefined && data.comment_write['use_comment_size'] == '') PRODUCT_COMMENT.comment_byte(4, data.key, 'commentReplyWriteForm');
284            }
285        });
286    },
287
288    END : function() {}
289};
290/**
291 * 상품상세 Q&A
292 */
293$(document).ready(function(){
294    $('.xans-product-qna a').click(function(e) {
295        e.preventDefault();
296
297        var no = $(this).attr('href').replace(/(\S*)[?&]no=(\d+)(\S*)/g, '$2');
298        var $obj = $('#product-qna-read_'+no);
299
300        //로드된 엘리먼트 존재 체크
301        if ($obj.length > 0) {
302            if ($obj.css('display') =='none') {
303                $obj.show();
304            } else {
305                $obj.hide();
306            }
307            return;
308        }
309
310        QNA.getReadData($(this));
311
312    });
313});
314
315var PARENT = '';
316
317var OPEN_QNA = '';
318
319var QNA = {
320    getReadData : function(obj, eType)
321    {
322        if (obj != undefined) {
323            PARENT = obj;
324            var sHref = obj.attr('href');
325            var pNode = obj.parents('tr');
326            var pass_check = '&pass_check=F';
327        } else {
328            var sHref = PARENT.attr('href');
329            var pNode = PARENT.parents('tr');
330            var pass_check = '&pass_check=T';
331        }
332
333        var sQuery = sHref.split('?');
334
335        var sQueryNo = sQuery[1].split('=');
336        if (OPEN_QNA == sQueryNo[1]) {
337            $('#product-qna-read').remove();
338            OPEN_QNA = '';
339            return false;
340        } else {
341            OPEN_QNA = sQueryNo[1];
342        }
343
344        $.ajax({
345            url : '/exec/front/board/product/6?'+sQuery[1]+pass_check,
346            dataType: 'json',
347            success: function(data) {
348                $('#product-qna-read').remove();
349
350                var sPath = document.location.pathname;
351                var sPattern = /^\/product\/(.+)\/([0-9]+)(\/.*)/;
352                var aMatchResult = sPath.match(sPattern);
353
354                if (aMatchResult) {
355                    var iProductNo = aMatchResult[2];
356                } else {
357                    var iProductNo = getQueryString('product_no');
358                }
359
360                var aHtml = [];
361
362                //읽기 권한 체크
363                if (false === data.read_auth && eType == undefined) {
364                    alert(decodeURIComponent(data.alertMSG));
365
366                    //로그인페이지 이동
367                    if (data.returnUrl != undefined) {
368                        location.replace("/member/login.html?returnUrl=" + data.returnUrl);
369                    }
370                    return false;
371                }
372
373                if (data.is_secret == true) {
374                    // 비밀글 비밀번호 입력 폼
375                    aHtml.push('<form name="SecretForm_6" id="SecretForm_6">');
376                    aHtml.push('<input type="text" name="a" style="display:none;">');
377                    aHtml.push('<div class="view"><p>비밀번호 <input type="password" id="secure_password" name="secure_password" onkeydown="if (event.keyCode == 13) '+data.action_pass_submit+'"> <span class="bt_xsmall"><a href="#none" onclick"'+data.action_pass_submit+'">확인</a></a></p></div>');
378                    aHtml.push('</form>');
379                } else {
380                    // 글 내용
381                    if (data.read['content_image'] != null) {
382                        var sImg = data.read['content_image'];
383                    } else {
384                        var sImg = '';
385                    }
386
387                    aHtml.push('<div class="view">');
388                    aHtml.push('<p>'+data.read['content']+'</p>');
389                    aHtml.push('<p>'+sImg+'</p>');
390                    aHtml.push('<p class="ec-base-button"><span class="gLeft">');
391                    if (data.write_auth == true) {
392                        aHtml.push('<span class="bt_xsmall"><a href="/board/product/modify.html?board_act=edit&no='+data.no+'&board_no=6&link_product_no='+iProductNo+'">게시글 수정</a></span>');
393                    }
394                    aHtml.push('</span></p>');
395                    aHtml.push('</div>');
396
397                    // 댓글리스트
398                    if (data.comment != undefined && data.comment.length != undefined) {
399                        aHtml.push('<ul class="boardComment">');
400                        for (var i=0; data.comment.length > i; i++) {
401                            //댓글리스트
402                            if (data.comment[i]['comment_reply_css'] == undefined) {
403                                aHtml.push('<li>');
404                                aHtml.push('<strong class="name">'+data.comment[i]['member_icon']+' '+data.comment[i]['comment_name']+'</strong>');
405                                aHtml.push('<span class="date">'+data.comment[i]['comment_write_date']+'</span>');
406                                aHtml.push('<span class="grade '+data.use_point+'"><img src="/web/upload/design/ico_point'+data.comment[i]['comment_point_count']+'.gif" alt="'+data.comment[i]['comment_point_count']+'점" /></span>');
407                                if (data.comment[i]['comment_reply_display'] == true) {
408                                    aHtml.push('<span class="button bt_xsmall">'+'<a href="#none" onclick="'+data.comment[i]['action_comment_reply']+'">댓글</a>'+'</span>');
409                                }
410                                aHtml.push('<p class="comment">'+data.comment[i]['comment_icon_lock']+' '+data.comment[i]['comment_content']+'</p>');
411                                aHtml.push('</li>');
412                            } else {
413                                //댓글의 댓글리스트
414                                aHtml.push('<li class="replyArea">');
415                                aHtml.push('<strong class="name">'+data.comment[i]['member_icon']+' '+data.comment[i]['comment_name']+'</strong>');
416                                aHtml.push('<span class="date">'+data.comment[i]['comment_write_date']+'</span>');
417                                aHtml.push('<p class="comment">'+data.comment[i]['comment_icon_lock']+' '+data.comment[i]['comment_content']+'</p>');
418                                aHtml.push('</li>');
419                            }
420                        }
421                        aHtml.push('</ul>');
422                    }
423
424                    // 댓글쓰기
425                    if (data.comment_write != undefined) {
426                        aHtml.push('<form name="commentWriteForm_6'+data.key+'" id="commentWriteForm_6'+data.key+'">');
427                        aHtml.push('<div class="memoCont">');
428                        aHtml.push('<div class="writer">');
429                        aHtml.push('<div class="user"><div class="nameArea">이름 '+data.comment_write['comment_name']+' 비밀번호 '+data.comment_write['comment_password']);
430                        if (data.comment_write['comment_secret_display'] == true) {
431                            aHtml.push('<label class="secret">'+data.comment_write['secure']+' 비밀댓글</label>');
432                        }
433                        aHtml.push('<p class="ec-base-help '+data.comment_write['password_rule_help_display_class']+'">영문 대소문자/숫자/특수문자 중 2가지 이상 조합, 10자~16자</p>');
434                        aHtml.push('</div>');
435                        aHtml.push(''+data.comment_write['comment']+'<span class="bt_vertical"><a href="#none" onclick="'+data.comment_write['action_comment_insert']+'" class="gray" style="padding:27px 25px">확인</a></span></div>');
436                        aHtml.push('<p class="rating '+data.comment_write['use_point']+'">'+data.comment_write['comment_point']+'</p>');
437                        aHtml.push('<p class="text '+data.comment_write['use_comment_size']+'">'+data.comment_write['comment_byte']+' / '+data.comment_write['comment_size']+' byte</p>');
438                        aHtml.push('<p class="captcha '+data.comment_write['use_captcha']+'">'+data.comment_write['captcha_image']+data.comment_write['captcha_refresh']+data.comment_write['captcha']+'<img src="//img.echosting.cafe24.com/skin/base/common/ico_info.gif" alt="" /> 왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)</p>');
439                        aHtml.push('</div>');
440                        aHtml.push('</div>');
441                        aHtml.push('</form>');
442                    }
443
444                    // 댓글의 댓글쓰기
445                    if (data.comment_reply != undefined) {
446                        aHtml.push('<form name="commentReplyWriteForm_6'+data.key+'" id="commentReplyWriteForm_6'+data.key+'" style="display:none">');
447                        aHtml.push('<div class="memoCont reply">');
448                        aHtml.push('<div class="writer">');
449                        aHtml.push('<div class="user"><div class="nameArea">이름 '+data.comment_reply['comment_name']+' 비밀번호 '+data.comment_reply['comment_password']);
450                        if (data.comment_reply['comment_secret_display'] == true) {
451                            aHtml.push('<label class="secret">'+data.comment_reply['secure']+' 비밀댓글</label>');
452                        }
453                        aHtml.push('<p class="ec-base-help '+data.comment_write['password_rule_help_display_class']+'">영문 대소문자/숫자/특수문자 중 2가지 이상 조합, 10자~16자</p>');
454                        aHtml.push('</div>');
455                        aHtml.push(''+data.comment_reply['comment']+'<span class="bt_vertical"><a href="#none" onclick="'+data.comment_reply['action_comment_insert']+'" class="gray" style="padding:27px 25px">확인</a></span>확인</a></div>');
456                        aHtml.push('<p class="text '+data.comment_reply['use_comment_size']+'">'+data.comment_reply['comment_byte']+' / '+data.comment_reply['comment_size']+' byte</p>');
457                        aHtml.push('<p class="captcha '+data.comment_reply['use_captcha']+'">'+data.comment_reply['captcha_image']+data.comment_reply['captcha_refresh']+data.comment_reply['captcha']+'<img src="//img.echosting.cafe24.com/skin/base/common/ico_info.gif" alt="" /> 왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)</p>');
458                        aHtml.push('</div>');
459                        aHtml.push('</div>');
460                        aHtml.push('</form>');
461                    }
462                    // 비밀댓글 확인
463                    if (data.comment_secret != undefined) {
464                        aHtml.push('<form name="commentSecretForm_6'+data.key+'" id="commentSecretForm_6'+data.key+'" style="display:none">');
465                        aHtml.push('<div class="commentSecret">');
466                        aHtml.push('<p>비밀번호 : '+data.comment_secret['secure_password']);
467                        aHtml.push(' <span class="bt_xsmall"><a href="#none" onclick="'+data.comment_secret['action_secret_submit']+'">확인</a></span>');
468                        aHtml.push(' <span class="bt_xsmall"><a href="#none" onclick="'+data.comment_secret['action_secret_cancel']+'">취소</a></span></p>');
469                        aHtml.push('</div>');
470                        aHtml.push('</form>');
471                    }
472                }
473
474                $(pNode).after('<tr id="product-qna-read'+data.key+'"><td colspan="6">'+aHtml.join('')+'</td></tr>');
475
476                // 평점기능 사용안함일 경우 보여지는 td를 조절하기 위한 함수
477                PRODUCT_COMMENT.comment_colspan(pNode);
478
479                if (data.comment_write != undefined && data.comment_write['use_comment_size'] == '') PRODUCT_COMMENT.comment_byte(6, data.key);
480                if (data.comment_reply != undefined && data.comment_write['use_comment_size'] == '') PRODUCT_COMMENT.comment_byte(6, data.key, 'commentReplyWriteForm');
481            }
482        });
483    },
484
485    END : function() {}
486};
487/**
488 * 움직이는 배너 Jquery Plug-in
489 * @author  cafe24
490 */
491
492(function($){
493
494    $.fn.floatBanner = function(options) {
495        options = $.extend({}, $.fn.floatBanner.defaults , options);
496
497        return this.each(function() {
498            var aPosition = $(this).position();
499            var jbOffset = $(this).offset();
500            var node = this;
501
502            $(window).scroll(function() {
503                var _top = $(document).scrollTop();
504                _top = (aPosition.top < _top) ? _top : aPosition.top;
505
506                setTimeout(function () {
507                    var newinit = $(document).scrollTop();
508
509                    if ( newinit >
509 jbOffset.top ) {
510                        _top -= jbOffset.top;
511                        var container_height = $("#wrap").height();
512                        var quick_height = $(node).height();
513                        var cul = container_height - quick_height;
514                        if(_top > cul){
515                            _top = cul;
516                        }
517                    }else {
518                        _top = 0;
519                    }
520
521                    $(node).stop().animate({top: _top}, options.animate);
522                }, options.delay);
523            });
524        });
525    };
526
527    $.fn.floatBanner.defaults = {
528        'animate'  : 500,
529        'delay'    : 500
530    };
531
532})(jQuery);
533
534/**
535 * 문서 구동후 시작
536 */
537$(document).ready(function(){
538    $('#banner:visible, #quick:visible').floatBanner();
539
540    //placeholder
541    $(".ePlaceholder input, .ePlaceholder textarea").each(function(i){
542        var placeholderName = $(this).parents().attr('title');
543        $(this).attr("placeholder", placeholderName);
544    });
545    /* placeholder ie8, ie9 */
546    $.fn.extend({
547        placeholder : function() {
548            //IE 8 버전에는 hasPlaceholderSupport() 값이 false를 리턴
549           if (hasPlaceholderSupport() === true) {
550                return this;
551            }
552            //hasPlaceholderSupport() 값이 false 일 경우 아래 코드를 실행
553            return this.each(function(){
554                var findThis = $(this);
555                var sPlaceholder = findThis.attr('placeholder');
556                if ( ! sPlaceholder) {
557                   return;
558                }
559                findThis.wrap('<label class="ePlaceholder" />');
560                var sDisplayPlaceHolder = $(this).val() ? ' style="display:none;"' : '';
561                findThis.before('<span' + sDisplayPlaceHolder + '>' + sPlaceholder + '</span>');
562                this.onpropertychange = function(e){
563                    e = event || e;
564                    if (e.propertyName == 'value') {
565                        $(this).trigger('focusout');
566                    }
567                };
568                //공통 class
569                var agent = navigator.userAgent.toLowerCase();
570                if (agent.indexOf("msie") != -1) {
571                    $(".ePlaceholder").css({"position":"relative"});
572                    $(".ePlaceholder span").css({"position":"absolute", "padding":"0 4px", "color":"#878787"});
573                    $(".ePlaceholder label").css({"padding":"0"});
574                }
575            });
576        }
577    });
578
579    $(':input[placeholder]').placeholder(); //placeholder() 함수를 호출
580
581    //클릭하면 placeholder 숨김
582    $('body').delegate('.ePlaceholder span', 'click', function(){
583        $(this).hide();
584    });
585
586    //input창 포커스 인 일때 placeholder 숨김
587    $('body').delegate('.ePlaceholder :input', 'focusin', function(){
588        $(this).prev('span').hide();
589    });
590
591    //input창 포커스 아웃 일때 value 가 true 이면 숨김, false 이면 보여짐
592    $('body').delegate('.ePlaceholder :input', 'focusout', function(){
593        if (this.value) {
594            $(this).prev('span').hide();
595        } else {
596            $(this).prev('span').show();
597        }
598    });
599
600    //input에 placeholder가 지원이 되면 true를 안되면 false를 리턴값으로 던져줌
601    function hasPlaceholderSupport() {
602        if ('placeholder' in document.createElement('input')) {
603            return true;
604        } else {
605            return false;
606        }
607    }
608});
609
610/**
611 *  썸네일 이미지 엑박일경우 기본값 설정
612 */
613$(window).load(function() {
614    $("img.thumb,img.ThumbImage,img.BigImage").each(function($i,$item){
615        var $img = new Image();
616        $img.onerror = function () {
617                $item.src="//img.echosting.cafe24.com/thumb/img_product_big.gif";
618        }
619        $img.src = this.src;
620    });
621});
622//window popup script
623function winPop(url) {
624    window.open(url, "popup", "width=300,height=300,left=10,top=10,resizable=no,scrollbars=no");
625}
626/**
627 * document.location.href split
628 * return array Param
629 */
630function getQueryString(sKey)
631{
632    var sQueryString = document.location.search.substring(1);
633    var aParam       = {};
634
635    if (sQueryString) {
636        var aFields = sQueryString.split("&");
637        var aField  = [];
638        for (var i=0; i<aFields.length; i++) {
639            aField = aFields[i].split('=');
640            aParam[aField[0]] = aField[1];
641        }
642    }
643
644    aParam.page = aParam.page ? aParam.page : 1;
645    return sKey ? aParam[sKey] : aParam;
646};
647
648$(document).ready(function(){
649    // tab
650    $.eTab = function(ul){
651        $(ul).find('a').click(function(){
652            var _li = $(this).parent('li').addClass('selected').siblings().removeClass('selected'),
653                _target = $(this).attr('href'),
654                _siblings = '.' + $(_target).attr('class');
655            $(_target).show().siblings(_siblings).hide();
656            return false
657        });
658    }
659    if ( window.call_eTab ) {
660        call_eTab();
661    };
662});
663(function($){
664$.fn.extend({
665    center: function() {
666        this.each(function() {
667            var
668                $this = $(this),
669                $w = $(window);
670            $this.css({
671                position: "absolute",
672                top: ~~(($w.height() - $this.outerHeight()) / 2) + $w.scrollTop() + "px",
673                left: ~~(($w.width() - $this.outerWidth()) / 2) + $w.scrollLeft() + "px"
674            });
675        });
676        return this;
677    }
678});
679$(function() {
680    var $container = function(){/*
681<div id="modalContainer">
682    <iframe id="modalContent" scroll="0" scrolling="no" frameBorder="0"></iframe>
683</div>');
684*/}.toString().slice(14,-3);
685    $('body')
686    .append($('<div id="modalBackpanel"></div>'))
687    .append($($container));
688    function closeModal () {
689        $('#modalContainer').hide();
690        $('#modalBackpanel').hide();
691    }
692    $('#modalBackpanel').click(closeModal);
693    zoom = function ($piProductNo, $piCategoryNo, $piDisplayGroup) {
694        var $url = '/product/image_zoom.html?product_no=' + $piProductNo + '&cate_no=' + $piCategoryNo + '&display_group=' + $piDisplayGroup;
695        $('#modalContent').attr('src', $url);
696        $('#modalContent').bind("load",function(){
697            $(".header .close",this.contentWindow.document.body).bind("click", closeModal);
698        });
699        $('#modalBackpanel').css({width:$("body").width(),height:$("body").height(),opacity:.4}).show();
700        $('#modalContainer').center().show();
701    }
702});
703})(jQuery);
704$('.bt_0').click(function(){
705    $('#leftbar').css("background-color","#fff");
706});    
707$('.bt_1').click(function(){
708    $('#leftbar').css("background-color","#d7dee0");
709});    
710$('.bt_2').click(function(){
711    $('#leftbar').css("background-color","#e7dddd");
712});    
713$('.bt_3').click(function(){
714    $('#leftbar').css("background-color","#ebe6dc");
715}); 
716$('.bt_4').click(function(){
717    $('#leftbar').css("background-color","#ebebeb");
718}); 
719/* 즐겨찾기 */
720function CreateBookmarkLink() {
721    var title = document.title;
722    var url = document.location.href;
723
724    if (window.sidebar && window.sidebar.addPanel) {
725        /* Mozilla Firefox Bookmark - Works With Opening In A Side Panel Only */
726        window.sidebar.addPanel(title, url, "");
727    } else if (window.opera && window.print) {
728        /* Opera Hotlist */
729        alert("Press Ctrl+D To Bookmark This Page!");
730        return true;
731    } else if (window.external) {
732        /* IE Favorite */
733        try {
734            window.external.AddFavorite(url, title);
735        } catch (e) {
736            alert("Ctrl+D를 눌러 즐겨찾기 추가해주세요!");
737        }
738    } else {
739        /* Other - Google Chrome, Safari */
740        alert("Press Ctrl+D To Bookmark This Page!");
741    }
742}
743
744/* 점선 */
745function bluring(){ 
746if(event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG") document.body.focus(); 
747} 
748document.onfocusin=bluring; 
749
750
751
752/* 회원가입 */
753$(window).ready(function() {
754    function loop() {
755        $('.join_box').animate ({ left: '+=4' }, 700) 
756            .animate({ left: '-=4' }, 700)
757            .animate({ left: '0' }, 0, function() {
758            loop();
759        });
760    }
761    loop();
762});
763
764
765/* over */
766$(".ec-base-product-over .prdList > li").mouseenter(function() {
767        $(this).find('.description').css("display","block");
768});
769$(".ec-base-product-over .prdList > li").mouseleave(function() {
770        $(this).find('.description').css("display","none");
771});
772
773
774
775
776
777/* 메인이미지 */
778$("#main_slide .swiper-wrapper .swiper-slide").each(function() {
779    var swiper_bg = $(this).find('.slide_img').attr("src");
780	$(this).attr('style', 'background-image: url("' + swiper_bg +'")');
781});     
782
783/ * 후기 : 0 일때 미노출되는 스크립트 * /
784
785$(document).ready(function(){
786	$("ul.prdList span").each(function(){
787		if( $(this).html().substring(0,10) == '0' ) {
788			$(this).closest('li').css("display","none");
789		}
790	});
791});
792
793$(document).ready(function(){
794    if (typeof(EC_SHOP_MULTISHOP_SHIPPING) != "undefined") {
795        var sShippingCountryCode4Cookie = 'shippingCountryCode';
796        var bShippingCountryProc = false;
797
798        // 배송국가 선택 설정이 사용안함이면 숨김
799        if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) {
800            $('.xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist').hide();
801            $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption .xans-layout-multishoplistmultioptioncountry').hide();
802        } else {
803            $('.thumb .xans-layout-multishoplistitem').hide();
804            var aShippingCountryCode = document.cookie.match('(^|;) ?'+sShippingCountryCode4Cookie+'=([^;]*)(;|$)');
805            if (typeof(aShippingCountryCode) != 'undefined' && aShippingCountryCode != null && aShippingCountryCode.length > 2) {
806                var sShippingCountryValue = aShippingCountryCode[2];
807            }
808
809            // query string으로 넘어 온 배송국가 값이 있다면, 그 값을 적용함
810            var aHrefCountryValue = decodeURIComponent(location.href).split("/?country=");
811
812            if (aHrefCountryValue.length == 2) {
813                var sShippingCountryValue = aHrefCountryValue[1];
814            }
815
816            // 메인 페이지에서 국가선택을 안한 경우, 그 외의 페이지에서 셋팅된 값이 안 나오는 현상 처리
817            if (location.href.split("/").length != 4 && $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val()) {
818                $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join(""));
819
820                if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) {
821                    $("#f_country").val($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val());
822                }
823            }
824            if (typeof(sShippingCountryValue) != "undefined" && sShippingCountryValue != "" && sShippingCountryValue != null) {
825                sShippingCountryValue = sShippingCountryValue.split("#")[0];
826                var bShippingCountryProc = true;
827
828                $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue);
829                $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join(""));
830                var expires = new Date();
831                expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30일간 쿠키 유지
832                document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString();
833                if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) {
834                    $("#f_country").val(sShippingCountryValue).change();;
835                }
836            }
837        }
838        // 언어선택 설정이 사용안함이면 숨김
839        if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingLanguageSelection === false) {
840            $('.xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist').hide();
841            $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption .xans-layout-multishoplistmultioptionlanguage').hide();
842        } else {
843            $('.thumb .xans-layout-multishoplistitem').hide();
844        }
845
846        // 배송국가 및 언어 설정이 둘 다 사용안함이면 숨김
847        if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShipping === false) {
848            $(".xans-layout-multishopshipping").hide();
849            $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption').hide();
850        } else if (bShippingCountryProc === false && location.href.split("/").length == 4) { // 배송국가 값을 처리한 적이 없고, 메인화면일 때만 선택 레이어를 띄움
851            var sShippingCountryValue = $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val();
852            $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue);
853            $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join(""));
854            // 배송국가 선택을 사용해야 레이어를 보이게 함
855            if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === true) {
856                $(".xans-layout-multishopshipping").show();
857            }
858        }
859
860        $(".xans-layout-multishopshipping .close").bind("click", function() {
861            $(".xans-layout-multishopshipping").hide();
862        });
863
864        $(".xans-layout-multishopshipping .ec-base-button a").bind("click", function() {
865            var expires = new Date();
866            expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30일간 쿠키 유지
867            document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString();
868
869            // 도메인 문제로 쿠키로 배송국가 설정이 안 되는 경우를 위해 query string으로 배송국가 값
869을 넘김
870            var sQuerySting = (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) ? "" : "/?country="+encodeURIComponent($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val());
871
872            location.href = '//'+$(".xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist").val()+sQuerySting;
873        });
874        $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a").bind("click", function() {
875            $(".xans-layout-multishopshipping").show();
876        });
877    }
878});
879/**
880 * 카테고리 마우스 오버 이미지
881 * 카테고리 서브 메뉴 출력
882 */
883
884$(document).ready(function(){
885
886    var methods = {
887        aCategory    : [],
888        aSubCategory : {},
889
890        get: function()
891        {
892             $.ajax({
893                url : '/exec/front/Product/SubCategory',
894                dataType: 'json',
895                success: function(aData) {
896
897                    if (aData == null || aData == 'undefined') return;
898                    for (var i=0; i<aData.length; i++)
899                    {
900                        var sParentCateNo = aData[i].parent_cate_no;
901
902                        if (!methods.aSubCategory[sParentCateNo]) {
903                            methods.aSubCategory[sParentCateNo] = [];
904                        }
905
906                        methods.aSubCategory[sParentCateNo].push( aData[i] );
907                    }
908                }
909            });
910        },
911
912        getParam: function(sUrl, sKey) {
913
914            var aUrl         = sUrl.split('?');
915            var sQueryString = aUrl[1];
916            var aParam       = {};
917
918            if (sQueryString) {
919                var aFields = sQueryString.split("&");
920                var aField  = [];
921                for (var i=0; i<aFields.length; i++) {
922                    aField = aFields[i].split('=');
923                    aParam[aField[0]] = aField[1];
924                }
925            }
926            return sKey ? aParam[sKey] : aParam;
927        },
928
929        getParamSeo: function(sUrl) {
930            var aUrl         = sUrl.split('/');
931            return aUrl[3] ? aUrl[3] : null;
932        },
933
934        show: function(overNode, iCateNo) {
935
936            if (methods.aSubCategory[iCateNo].length == 0) {
937                return;
938            }
939
940            var aHtml = [];
941            aHtml.push('<ul>');
942            $(methods.aSubCategory[iCateNo]).each(function() {
943                aHtml.push('<li><a href="'+this.link_product_list+'">'+this.name+'</a></li>');
944            });
945            aHtml.push('</ul>');
946
947
948            var offset = $(overNode).offset();
949            $('<div class="sub-category"></div>')
950                .appendTo(overNode)
951                .html(aHtml.join(''))
952                .find('li').mouseover(function(e) {
953                    $(this).addClass('over');
954                }).mouseout(function(e) {
955                    $(this).removeClass('over');
956                });
957        },
958
959        close: function() {
960            $('.sub-category').remove();
961        }
962    };
963
964    methods.get();
965
966
967    $('.xans-layout-category li').mouseenter(function(e) {
968        var $this = $(this).addClass('on'),
969        iCateNo = Number(methods.getParam($this.find('a').attr('href'), 'cate_no'));
970
971        if (!iCateNo) {
972            iCateNo = Number(methods.getParamSeo($this.find('a').attr('href')));
973        }
974
975        if (!iCateNo) {
976           return;
977        }
978
979        methods.show($this, iCateNo);
980     }).mouseleave(function(e) {
981        $(this).removeClass('on');
982
983          methods.close();
984     });
985});

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.