PageSourceSearch

https://frey.co.kr/js/block/slick.1780548395.js

js frey.co.kr collected 2026-09-30 11:49:47 UTC 32,231 bytes, 566 lines download raw bytes

1var clSlickFnLoad = false;
2var clSlickFn = function(block_selector) {
3    if(clSlickFnLoad) return false;
4    clSlickFnLoad = true;
5
6    var slick_total = $(block_selector+' .slick:not(:empty)').length;
7    if(slick_total < 1) {
8        $(block_selector).removeClass('slick_row_op_0').find('.slick-loading-status').remove();
9        clSlickFnLoad = false;
10    } else {
11        var slick_i = 0, 
12            slick_col_i = (window.innerWidth > 991) ? 0 : ((window.innerWidth <= 480) ? 2 : 1),
13            isElviewSlick = (typeof isElviewPage != 'undefined' && isElviewPage) ? isElviewPage : false;
14        if(isElviewSlick) {
15            var elview_d = (typeof isElviewDevice != 'undefined' && isElviewDevice) ? isElviewDevice : ''; 
16            slick_col_i = (elview_d == 'm') ? 2 : 0;
17        }
18
19        $(block_selector+' .slick:not(:empty)').each(function() {
20            slick_i++;
21            var slickEL = $(this).closest('*[class*="el_"][data-clslick]'),
22                slick_selector = '.' + slickEL.attr('data-name'),
23                slick_v = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-view'),
24                slick_t = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-view-t'),
25                slick_m = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-view-m'),
26                slick_r = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-rows'),
27                slick_dot = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-dot'),
28                slick_arrow = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-arrow'),
29                slick_draggable = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-draggable'),
30                slick_speed = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-speed'),
31                slick_autoplay = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-autoplay'),
32                slick_autoplay_speed = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-autoplay-speed'),
33                slick_toscroll = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-toscroll'),
34                slick_infinite = false;
35            slick_v = (typeof slick_v != 'undefined' && slick_v) ? Number(slick_v.trim()) : 3;
36            slick_t = (typeof slick_t != 'undefined' && slick_t) ? Number(slick_t.trim()) : 2;
37            slick_m = (typeof slick_m != 'undefined' && slick_m) ? Number(slick_m.trim()) : 2;
38            slick_r = (typeof slick_r != 'undefined' && slick_r) ? Number(slick_r.trim()) : 1;
39            slick_draggable = (typeof slick_draggable != 'undefined' && slick_draggable.replace(/\s/g,'') == 'false') ? false : true;
40            slick_autoplay = (typeof slick_autoplay != 'undefined' && slick_autoplay.replace(/\s/g,'') == 'true') ? true : false;
41            slick_autoplay_speed = (typeof slick_autoplay_speed != 'undefined' && slick_autoplay_speed) ? Number(slick_autoplay_speed) : 2000;
42            if(slick_autoplay) slick_infinite = true;
43
44            var slick_col = [slick_v,slick_t,slick_m],
45                slick_options = {
46                    rows: slick_r,
47                    adaptiveHeight: false,
48                    draggable: slick_draggable,
49                    autoplay: slick_autoplay,
50                    autoplaySpeed: slick_autoplay_speed,
51                    slidesToShow: slick_col[slick_col_i],
52                    slidesToScroll: (typeof slick_toscroll != 'undefined' && slick_toscroll.replace(/\s/g,'') == 'true') ? 1 : slick_col[slick_col_i],
53                    infinite: slick_infinite
54                };
55                    // fade: true,
56            if(typeof slick_speed != 'undefined' && slick_speed) {
57                slick_options['speed'] = parseFloat(slick_speed.match(/\d+/)[0]);
58            }
59            if(typeof slick_dot != 'slick_dot' && slick_dot) {
60                slick_options['dots'] = true;
61                // slick_dot == 'true' , 블럭별 style 설정
62                // slick_options['dotsClass'] = 'slick-dots slick-type'+sl
62ick_dot.trim();
63            }
64
65            if(typeof slick_arrow != 'undefined' && slick_arrow) {
66                var slick_arrow_tmp = slick_arrow.trim().split(','),
67                    slick_arrow_type = slick_arrow_tmp[0].trim(),
68                    slick_arrow_w = slick_arrow_tmp[1].trim(),
69                    slick_arrow_h = slick_arrow_tmp[2].trim(),
70                    slick_prev = clSVG('clslick_arrow'+slick_arrow_type, slick_arrow_w, slick_arrow_h);
71
72                if(slick_prev) {
73                    slick_options['prevArrow'] = '<button class="slick-prev slick-arrow" aria-label="Previous" type="button" aria-disabled="false" data-arrow="'+slick_arrow_type+'">'+slick_prev+'</button>';
74                    slick_options['nextArrow'] = '<button class="slick-next slick-arrow" aria-label="Previous" type="button" aria-disabled="false" data-arrow="'+slick_arrow_type+'">'+slick_prev+'</button>';
75                }
76            }
77
78            if(slickEL.find('.slick-page-label').length > 0) {
79                slickEL.find('.slick-page-label .slick-page-now').text(1);
80                slickEL.find('.slick-page-label .slick-page-total').text(slickEL.find('.slick .item:not(.slick-cloned)').length);
81            }
82
83            if(slickEL.find('.slick').is('.slick-initialized')) slickEL.find('.slick').slick('unslick').off('beforeChange').off('init reInit afterChange');
84            slickEL.find('.slick').slick(slick_options).on('init reInit afterChange', function(event, slick, currentSlide, nextSlide){
85                
86                if(slickEL.find('.slick-page-label').length > 0) {
87                    var i = (currentSlide ? currentSlide : 0) + 1;
88                    slickEL.find('.slick-page-label .slick-page-now').text(i);
89                    slickEL.find('.slick-page-label .slick-page-total').text(slick.slideCount);
90                }
91            }).on('beforeChange', function(event, slick, currentSlide, nextSlide) {
92            });
93
94            if($('#el-blockConfig').hasClass('open')) slickEL.find('.slick').slick('slickPause');
95
96            if(slickEL.find('.slick-dots li').length == 1) slickEL.find('.slick-dots').addClass('hide');
97
98            if(slick_i >= slick_total) {
99                $(block_selector).removeClass('slick_row_op_0').find('.slick-loading-status').remove();
100                clSlickFnLoad = false;
101            }
102        });
103
104    }
105}
106
107
108
109var syncSlickFnLoad = false;
110var syncSlickFn = function(block_selector) {
111    if(syncSlickFnLoad) return false;
112    syncSlickFnLoad = true;
113
114    var slick_cnt = 0,
115        slick_total = $(block_selector+' .slick:not(:empty)').length;
116    if(slick_total < 1) {
117        $(block_selector).removeClass('sync_row_op_0').find('.sync-loading-status').remove();
118        syncSlickFnLoad = false;
119    } else {
120        var slick_i = 0, 
121            slick_col_i = (window.innerWidth > 991) ? 0 : ((window.innerWidth <= 480) ? 2 : 1),
122            isElviewSlick = (typeof isElviewPage != 'undefined' && isElviewPage) ? isElviewPage : false;
123        if(isElviewSlick) {
124            var elview_d = (typeof isElviewDevice != 'undefined' && isElviewDevice) ? isElviewDevice : ''; 
125            slick_col_i = (elview_d == 'm') ? 2 : 0;
126        }
127
128        $(block_selector+' .slick:not(:empty)').each(function() {
129            slick_i++;
130            var slickEL = $(this).closest('*[class*="el_"][data-type="sync"]'),
131                slick_selector = '.' + slickEL.attr('data-name'),
132                slick_type = slickEL.attr('data-type2'),
133                slick_v = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-view'),
134                slick_t = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-view-t'),
135                slick_m = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-view-m'),
136                slick_r = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-rows'),
137                slick_dot = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-dot'),
138                slick_arrow = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-arrow'),
139                slick_speed = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-speed'),
140                slick_autoplay = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-autoplay'),
141                slick_autoplay_speed = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-autoplay-speed'),
142                slick_toscroll = getComputedStyle(document.querySelector(slick_selector)).getPropertyValue('--slick-toscroll'),
143            slick_v = (typeof slick_v != 'undefined' && slick_v) ? Number(slick_v.trim()) : 3;
144            slick_t = (typeof slick_t != 'undefined' && slick_t) ? Number(slick_t.trim()) : 2;
145            slick_m = (typeof slick_m != 'undefined' && slick_m) ? Number(slick_m.trim()) : 2;
146            slick_r = (typeof slick_r != 'undefined' && slick_r) ? Number(slick_r.trim()) : 1;
147            slick_autoplay = (typeof slick_autoplay != 'undefined' && slick_autoplay.replace(/\s/g,'') == 'true') ? true : false;
148            slick_autoplay_speed = (typeof slick_autoplay_speed != 'undefined' && slick_autoplay_speed) ? Number(slick_autoplay_speed) : 2000;
149
150            var slick_col = [slick_v,slick_t,slick_m],
151                slick_options = {
152                    rows: slick_r,
153                    adaptiveHeight: false,
154                    autoplay: slick_autoplay,
155                    autoplaySpeed: slick_autoplay_speed,
156                    slidesToShow: slick_col[slick_col_i],
157                    slidesToScroll: (typeof slick_toscroll != 'undefined' && slick_toscroll.replace(/\s/g,'') == 'true') ? 1 : slick_col[slick_col_i],
158                    infinite: true
159                };
160                    // fade: true,
161
162            if(typeof slick_speed != 'undefined' && slick_speed) {
163                slick_options['speed'] = parseFloat(slick_speed.match(/\d+/)[0]);
164            }
165            if(typeof slick_dot != 'slick_dot' && slick_dot) {
166                slick_options['dots'] = true;
167                // slick_dot == 'true' , 블럭별 style 설정
168                // slick_options['dotsClass'] = 'slick-dots slick-type'+slick_dot.trim();
169            }
170
171            if(typeof slick_arrow != 'undefined' && slick_arrow) {
172                var slick_arrow_tmp = slick_arrow.trim().split(','),
173                    slick_arrow_type = slick_arrow_tmp[0].trim(),
174                    slick_arrow_w = slick_arrow_tmp[1].trim(),
175                    slick_arrow_h = slick_arrow_tmp[2].trim(),
176                    slick_prev = slick_next = clSVG('sync_arrow'+slick_arrow_type, slick_arrow_w, slick_arrow_h);
177                
178                if(slick_prev == '') {
179                    slick_prev = clSVG('sync_arrow'+slick_arrow_type+'_left', slick_arrow_w, slick_arrow_h);
180                    slick_next = clSVG('sync_arrow'+slick_arrow_type+'_right', slick_arrow_w, slick_arrow_h);
181                }
182
183                if(slick_prev) {
184                    slick_options['prevArrow'] = '<button class="slick-prev slick-arrow" aria-label="Previous" type="button" aria-disabled="false" data-arrow="'+slick_arrow_type+'">'+slick_prev+'</button>';
185                    slick_options['nextArrow'] = '<button class="slick-next slick-arrow" aria-label="Previous" type="button" aria-disabled="false" data-arrow="'+slick_arrow_type+'">'+slick_next+'</button>';
186                }
187            }
188
189            if(slickEL.find('.slick-page-label').length > 0) {
190                slickEL.find('.slick-page-label .slick-page-now').text(1);
191                slickEL.find('.slick-page-label .slick-page-total').text(slickEL.find('.slick .item.sync-item:not(.slick-cloned)').length);
192            }
193            
194            if(slickEL.find('.slick').is('.slick-initialized')) slickEL.find('.slick').slick('unslick').off('beforeChange').off('init reInit afterChange');
195            slickEL.find('.slick').slick(slick_options).on('init reInit afterChange', function(event, slick, currentSlide, nextSlide){
196
197                if(slickEL.find('.slick-page-label').length > 0) {
198                    var i = (currentSlide ? currentSlide : 0) + 1;
199                    slickEL.find('.slick-page-label .slick-page-now').text(i);
200                    slickEL.find('.slick-page-label .slick-page-total').text(slick.slideCount);
201                }
202            }).on('beforeChange', function(event, slick, currentSlide, nextSlide) {
203                if(slick_type == 'imgpitem' && slickEL.find('[data-sync-loop="true"][data-sync-type="image"]').length > 0) slickEL.find('[data-sync-loop="true"][data-sync-type="image"] > li').eq(nextSlide).addClass('active').siblings().removeClass('active');
204            });
205
206            if($('#el-blockConfig').hasClass('open')) slickEL.find('.slick').slick('slickPause');
207
208            if(slickEL.find('.slick-dots li').length == 1) slickEL.find('.slick-dots').addClass('hide');
209
210            if(slick_i >= slick_total) {
211                $(block_selector).removeClass('sync_row_op_0').find('.sync-loading-status').remove();
212                syncSlickFnLoad = false;
213            }
214        });
215
216
217        $(block_selector+'[data-type="sync"][data-type2="imgshow"]').each(function() {
218            if($(this).find('.sync-img-ul').length > 0 && $(this).find('.sync-img-pagination').length > 0) {
219                var syncEL = $(this);
220
221                //next slide 
222                syncEL.find('.sync-img-btn.next').off('click').click(function(){
223                    syncImgshowSlideRight($(this).closest(block_selector));
224                });
225
226                //previous slide
227                syncEL.find('.sync-img-btn.prev').off('click').click(function(){
228                    syncImgshowSlideLeft($(this).closest(block_selector));
229                });
230
231                //set imgshow width
232                syncEL.imagesLoaded().progress(function(imgLoad, image) {
233                    syncImgshowSlideWidthCheck(block_selector);
234                }).done(function() {
235                    syncImgshowSlideStart($(block_selector));
236                    if($('#el-blockConfig').hasClass('open')) syncImgshowSlideStop($(block_selector));
237                });
238
239                syncEL.find('.sync-img-ul > li').each(function(idx) {
240                    if(idx == 0) $(this).closest(block_selector).find('.sync-img-pagination').empty();
241                    var siu_li = document.createElement('li');
242                    $(this).closest(block_selector).find('.sync-img-pagination').append(siu_li);
243                });
244
245                syncImgshowSlidePagination(syncEL);
246
247                syncEL.find('.sync-img-wrap').hover(
248                    function() {
249                        if($(this).find('.sync-img-ul > li').length < 2) $(this).addClass('slide-stop');
250                        syncImgshowSlideStop($(this).closest('[data-type="sync"][data-type2="imgshow"]'));
251                    },
252                    function() {
253                        $(this).removeClass('slide-stop');
254                        syncImgshowSlideStart($(this).closest('[data-type="sync"][data-type2="imgshow"]'));
255                    }
256                );
257
258            }
259        });
260    }
261}
262
263var syncImgshowSlideWidthCheck = function(syncImgshowEL_selector) {
264    if(typeof syncImgshowEL_selector == 'undefined' || $(syncImgshowEL_selector).length == 0) syncImgshowEL_selector = '[data-type="sync"][data-type2="imgshow"]';
265
266    var checkParent = (window.parent && window.parent != this) ? true : false;
267    var window_w = $(window).width();
268    $(syncImgshowEL_selector).each(function() {
269        if($(this).is('[data-type="sync"][data-type2="imgshow"]')) {
270            if($(this).find('.sync-img-ul > li').length > 1) $(this).find('.sync-img-pagination-wrap, .sync-img-btn-wrap').removeClass('hide');
271            else $(this).find('.sync-img-pagination-wrap, .sync-img-btn-wrap').addClass('hide');
272
273            // var checkTemplateview = (checkParent && $('.template-iframe', window.parent.document).length > 0) ? true : false,
274            //     checkPreview = (checkParent && $('.preview-iframe', window.parent.document).length > 0) ? true : false,
275            //     checkElview = (checkParent && $('#elviewer', window.parent.document).length > 0) ? true : false;
276
277            var s_total = $(this).find('.sync-img-ul > li').length,
278                s_width = $(this).find('.sync-img-wrap').width();
279            //     sis_iv_w = getComputedStyle(document.querySelector(syncImgshowEL_selector)).getPropertyValue('--sync-imgshow-width');
280            // sis_iv_w = sis_iv_w.replace(/[^0-9\.]/g,'') * 1;
281
282            $(this).find('.sync-img-ul').width(s_width*s_total);
283            document.querySelector(syncImgshowEL_selector).style.setProperty('--sync-imgshow-width', s_width+'px', null);
284        }
285    });
286}
287
288var syncImgshowSlideRight = function(syncImgshowEL) {
289    var sis_width = $(syncImgshowEL).find('.sync-img-wrap').width(),
290        sis_total = $(syncImgshowEL).find('.sync-img-ul > li').length,
291        sis_pos = $(syncImgshowEL).find('.sync-img-ul > li.active').index();
292
293    sis_pos++;
294    if(sis_pos >= sis_total) sis_pos = 0;
295    $(syncImgshowEL).find('.sync-img-ul').animate({left: -(sis_width*sis_pos) + 'px'}, 1000, 'easeInOutQuart',function() { 
296        $(syncImgshowEL).find('.sync-img-ul > li').eq(sis_pos).addClass('active').siblings().removeClass('active');
297        syncImgshowSlidePagination(syncImgshowEL);
298    });
299}
300
301var syncImgshowSlideLeft = function(syncImgshowEL) {
302    var sis_width = $(syncImgshowEL).find('.sync-img-wrap').width(),
303        sis_total = $(syncImgshowEL).find('.sync-img-ul > li').length,
304        sis_pos = $(syncImgshowEL).find('.sync-img-ul > li.active').index();
305
306    sis_pos--;
307    if(sis_pos <= -1) sis_pos = sis_total-1;
308    $(syncImgshowEL).find('.sync-img-ul').animate({left: -(sis_width*sis_pos) + 'px'}, 1000, 'easeInOutQuart',function() { 
309        $(syncImgshowEL).find('.sync-img-ul > li').eq(sis_pos).addClass('active').siblings().removeClass('active');
310        syncImgshowSlidePagination(syncImgshowEL);
311    });
312}
313
314var syncImgshowSlidePagination = function(syncImgshowEL) {
315    var sis_pos = $(syncImgshowEL).find('.sync-img-ul > li.active').index();
316    $(syncImgshowEL).find('.sync-img-pagination > li').removeClass('active');
317    $(syncImgshowEL).find('.sync-img-pagination > li:eq('+sis_pos+')').addClass('active');
318}
319
320var syncImgshowSlideStop = function(syncImgshowEL) {
321    var $sisEL = (typeof syncImgshowEL != 'undefined' && $(syncImgshowEL).length > 0) ? $(syncImgshowEL) : $('[data-type="sync"][data-type2="imgshow"]');
322    $sisEL.each(function() {
323        if($(this).is('[data-type="sync"][data-type2="imgshow"]')) {
324            var sis_elname = $(this).attr('data-name'),
325                sis_seq = $(this).attr('data-id'),
326                sis_selector = '.'+sis_elname+'[data-id="'+sis_seq+'"]',
327                sis_iv_id = ($(sis_selector).length > 0) ? getComputedStyle(document.querySelector(sis_selector)).getPropertyValue('--sync-imgshow-id') : '';
328            if(typeof sis_iv_id != 'undefined' && $.trim(sis_iv_id)) {
329                clearInterval(sis_iv_id);
330                document.querySelector(sis_selector).style.setProperty('--sync-imgshow-id', null, null);
331            }
332        }
333    });
334}
335var syncImgshowSlideStart = function(syncImgshowEL) {
336    var $sisEL = (typeof syncImgshowEL != 'undefined' && $(syncImgshowEL).length > 0) ? $(syncImgshowEL) : $('[data-type="sync"][data-type2="imgshow"]');
337    $sisEL.each(function() {
338        if($(this).is('[data-type="sync"][data-type2="imgshow"]')) {
339            var sis_elname = $(this).attr('data-name'),
340                sis_seq = $(this).attr('data-id'),
341                sis_selector = '.'+sis_elname+'[data-id="'+sis_seq+'"]',
342                sis_iv_id = ($(sis_selector).length > 0) ? getComputedStyle(document.querySelector(sis_selector)).getPropertyValue('--sync-imgshow-id') : '';
343            if(typeof sis_iv_id != 'undefined' && $.trim(sis_iv_id)) {
344                clearInterval(sis_iv_id);
345                document.querySelector(sis_selector).style.setProperty('--sync-imgshow-id', null, null);
346            }
347
348            syncImgshowSlideWidthCheck(sis_selector);
349
350            if($(this).find('.sync-img-ul > li').length > 1) {
351                var sis_iv_nid = setInterval(syncImgshowSlideRight, 3500, $(this));
352                document.querySelector(sis_selector).style.setProperty('--sync-imgshow-id', sis_iv_nid, null);
353            }
354        }
355    });
356}
357
358var syncArrowLoad = function(syncEL) {
359    var arrow_result = {'prev':'', 'next':''},
360        tmp_arrow = getComputedStyle(document.querySelector('.'+syncEL)).getPropertyValue('--slick-arrow'),
361        slick_arrow_tmp = tmp_arrow.trim().split(','),
362        slick_arrow_type = slick_arrow_tmp[0].trim(),
363        slick_arrow_w = slick_arrow_tmp[1].trim(),
364        slick_arrow_h = slick_arrow_tmp[2].trim(),
365        slick_prev = clSVG('sync_arrow'+slick_arrow_type, slick_arrow_w, slick_arrow_h);
366       if(slick_arrow_type > 0) {
367            arrow_result['prev'] = '<button class="slick-prev slick-arrow" aria-label="Previous" type="button" aria-disabled="false" data-arrow="'+slick_arrow_type+'">'+slick_prev+'</button>';
368            arrow_result['next'] = '<button class="slick-next slick-arrow" aria-label="Previous" type="button" aria-disabled="false" data-arrow="'+slick_arrow_type+'">'+slick_prev+'</button>';
369       }
370
371    return arrow_result;
372}
373
374var loadSyncInitList = function(syncEL) {
375    if(typeof syncEL == 'undefined' || $(syncEL).length == 0 || $(syncEL).attr('data-type') != 'sync') return false;
376
377    var sync_sid = (typeof property != 'undefined') ? property.SID : SID,
378        sync_spage = (typeof property != 'undefined') ? property.PAGE : PAGE,
379        sync_publish = (typeof property != 'undefined') ? property.PUBLISH : false,
380        $sync = $(syncEL),
381        sync_row_selector = ($sync.find('.sync-option').length > 0) ? 'sync-row' : 'slick',
382        $syncRow = $sync.find('.'+sync_row_selector),
383        $syncLoop = $sync.find('[data-sync-loop="true"]'),
384        sync_type = $sync.attr('data-type'),
385        sync_type2 = $sync.attr('data-type2'),
386        sync_bid = $sync.attr('data-id'),
387        sync_lno = '';
388
389    var checkEmptySample = false;
390
391    $sync.addClass('sync_row_op_0');
392    $syncRow.before('<div class="sync-loading-status"><div class="loading-dots"></div></div>');
393
394    if( $.inArray(sync_type2, ['tab']) > -1 && 
395        $sync.find('li.active[data-list-no]').length > 0
396    ) {
397        if($sync.find('li[data-list-no]').eq(0).hasClass('active') && !sync_publish) checkEmptySample = true;
398
399        $syncRow.slick('unslick').off('beforeChange').off('init reInit afterChange');
400        $syncRow.empty();
401
402        sync_lno = $sync.find('li.active[data-list-no]').eq(0).attr('data-list-no');
403        if(typeof sync_lno == 'undefined' || !sync_lno) sync_lno = '';
404    }
405
406    if(typeof sync_bid != 'undefined' && sync_bid) {
407        $.ajax({
408            type: 'POST',
409            url: '/template/lux_sync_load',
410            data: { sid: sync_sid, bid: sync_bid, lno: sync_lno, spage: sync_spage, publish: sync_publish },
411            dataType: 'json',
412            async: true,
413            cache: false,
414            success: function(r) {
415                if (typeof r.error != 'undefined' && r.error) {
416                    alert(r.error);
417                    return false;
418                }
419
420                var $tmpEL = $(htmlspecialchars_decode(r.block.eltag,'ENT_QUOTES')),
421                    $tmpRow = $('<div></div>'),
422                    tmp_class = '';
423
424                var sync_list_total = (r.data.length == 0) ? 0 : r.data.list.length;
425                if($sync.find('.slick-page-label').length > 0) {
426                    var page_label = sync_list_total;
427                    if (r.block.type2 == 'imgpitem' && sync_list_total == 0) page_label = $sync.find('.slick .item').length;
428
429                    $sync.find('.slick-page-label .slick-page-now').text(1);
430                    $sync.find('.slick-page-label .slick-page-total').text(page_label);
431                }
432
433                if(sync_list_total > 0) {
434                    var checkSyncGalleryFrame = false,
435                        sync_gallery = {},
436                        u_resource = (typeof property != 'undefined' && typeof property.RESOURCE != 'undefined') ? property.RESOURCE : RESOURCE,
437                        u_sid = (typeof property != 'undefined' && typeof property.SID != 'undefined') ? property.SID : SID,
438                        p = u_resource + '/' + u_sid;
439                                                                            
440                    $sync.removeClass('emptySync');
441                    $sync.find('.sync-row-empty').remove();
442                    var $tmpItem = $tmpEL.find('.item').eq(0).clone();
443
444                    $.each(r.data.list, function(r_i,r_v) {
445                        // $tmpItem.find('a').attr('href', '/config/page/_product/view/' + r_v.seq);
446                        switch(r_v.type) {
447                            case "lux"      : $tmpItem.find('a').attr('href', '/config/page/_product/view/' + r_v.seq); break;
448                            case "shopping" : $tmpItem.find('a').attr('href', '/config/page/' + r_v.page + '/view/' + r_v.seq); break;
449                            case "gallery"  : 
450                                var img = getServeImage(r_v.image,'0',p);
451                                (r_v.mode == 'project') ?
452                                    $tmpItem.find('a').attr('href', '/config/page/' + r_v.page + '/view/' + r_v.seq) :
453                                    $tmpItem.find('a').attr('href', img).attr('data-gallery','').attr('data-title',r_v.title); 
454                                break;
455                        }
456
457                        if(r_v.type == 'gallery' && r_v.mode == 'gallery') {
458                            checkSyncGalleryFrame = true;
459                            sync_gallery.elsettings = r_v.elsettings;
460                            sync_gallery.type = 'gallery';
461                            sync_gallery.pid = r_v.pid;
462                        }
463                                                
464                        $tmpItem.find('img').attr('src', r_v.image);
465                        $tmpItem.find('.brand').text(r_v.brand_name);
466                        $tmpItem.find('.name').text(r_v.title);
467                        if(r_v.sale_rate > 0) $tmpItem.find('.sale').text(r_v.sale_rate + '%');
468                        (r_v.price != '') ? $tmpItem.find('.price').show().text('₩'+number_format(r_v.price)) : $tmpItem.find('.price').hide();
469                        if (r_v.sale != '' && r_v.sale > 0 && r_v.sale > r_v.price) {
470                            $tmpItem.find('.price-sale').show().text('₩'+number_format(r_v.sale));
471                        } else $tmpItem.find('.price-sale').hide();
472
473                        $tmpItem.find('.price-unit-pricing').remove();
474                        if(r_v.product_unit_str) {
475                            var tmp_unit_selector = ($tmpItem.find('ul.price-wrap').length > 0) ? `ul.price-wrap` : `.content`;
476                            var tmp_unit_wrap = ($tmpItem.find('ul.price-wrap').length > 0) ? `li` : `div`;
477                            $tmpItem.find(tmp_unit_selector).append(`<${tmp_unit_wrap} class="price-unit-pricing">${r_v.product_unit_str}</${tmp_unit_wrap}>`); // 단위당 가격
478                        }
479                        $syncRow.append($tmpItem.outerHTML());
480
481                        if (r.block.type2 == 'imgpitem' && $syncLoop.length > 0) {
482                            if ($syncLoop.children('li').eq(r_i).length == 0) $syncLoop.append($syncLoop.children('li').eq(0).clone().removeClass('active'));
483                            $syncLoop.children('li').eq(r_i).attr('data-idx', r_i);
484                        }
485                    });
486                    if(checkSyncGalleryFrame && typeof sync_gallery.type != 'undefined') {
487                        appendGalleryFrame($sync, sync_gallery.pid, sync_gallery.type, sync_gallery.elsettings);
488                    }
489                } else {
490                    $sync.addClass('emptySync');
491                    if(checkEmptySample) {
492                        $syncRow.replaceWith($tmpEL.find('.'+sync_row_selector).outerHTML()).addClass('');
493                    } else {
494                        $syncRow.html('<div class="sync-row-empty">결과 없음</div>');
495                    }
496                }
497
498
499                if($sync.find('.sync-row-empty').length == 0 && $syncRow.is('.slick')) syncSlickFn('.' + r.block.elname);
500                else {
501                    $sync.removeClass('sync_row_op_0').find('.sync-loading-status').remove();
502                }
503            },
504            error: function(xhr, status, error) {
505                $.processOFF();
506                alert("Error " + xhr.status + " : 관리자에게 문의");
507            }
508        });
509    }
510
511}
512
513
514
515$(function () {
516
517    var slickFnTimer = null;
518    $(window).on('resize', function(){
519        clearTimeout(slickFnTimer);
520        slickFnTimer = setTimeout(function(){
521            if(typeof syncSlickFn == 'function') syncSlickFn('*[class*="el_"][data-type="sync"]');
522            if(typeof clSlickFn == 'function') clSlickFn('*[class*="el_"][data-clslick]');
523        }, 500);
524    });
525    
526
527/*** .element[data-type="sync"] ***/
528    $(document)
529        .on('click', '[data-type="sync"] .sync-page-more', function(e) {
530            if($(this).closest('.emptySync').length > 0) {
531                e.preventDefault();
532                return false;
533            }
534
535            var suncLoadMore = $(this),
536                syncOption = $(this).closest('[data-type="sync"]').find('.sync-option'),
537                sync_selector = $(this).closest('[data-type="sync"]').attr('data-name'),
538                sync_display_cnt = ($('.'+sync_selector).length > 0) ? Number(getComputedStyle(document.querySelector('.'+sync_selector)).getPropertyValue('--display-count')) || 10 : 10;
539                sync_display_page = ($('.'+sync_selector).length > 0) ? Number(getComputedStyle(document.querySelector('.'+sync_selector)).getPropertyValue('--display-page')) || 1 : 1;
540
541            sync_display_page++;
542			document.querySelector('.'+sync_selector).style.setProperty('--display-page', sync_display_page, null);
543            $(this).closest('[data-type="sync"]').find(`.sync-item:gt(${(sync_display_cnt*sync_display_page)+1})`).addClass('hide');
544            $(this).closest('[data-type="sync"]').find(`.sync-item:lt(${sync_display_cnt*sync_display_page})`).removeClass('hide');
545
546            var sunc_p_total = (suncLoadMore.find('.sync-page-label').length > 0) ? Number(suncLoadMore.find('.sync-page-label .sync-page-total').text()) || 1 : 1;
547            if(sunc_p_total == sync_display_page) suncLoadMore.closest('.sync-page-wrap').hide();
548            else suncLoadMore.find('.sync-page-label .sync-page-now').text(sync_display_page);
549        })
550        .on('click', '[data-type="sync"][data-type2="tab"] .sync-tab-ul[data-sync-loop="true"] > li', function(e) {
551            if($(this).is('.active')) {
552                e.preventDefault();
553                return false;
554            }
555
556            var syncEL = $(this).closest('[data-type="sync"][data-type2="tab"]'),
557                sync_tab_idx = $(this).index();
558
559            $(this).addClass('active').siblings().removeClass('active');
560            if(syncEL.find('.sync-tabimg-ul').length > 0) syncEL.find('.sync-tabimg-ul').children().eq(sync_tab_idx).addClass('active').siblings().removeClass('active');
561            if($(this).is('[data-list-no="1"]')) $(this).attr('data-list-no','');
562
563            loadSyncInitList(syncEL);
564        });
565
566});

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.