1if(typeof LANG == 'undefined') var LANG = getLanguage(); 2 3$(window).load(function(data) { 4 setLanguage(LANG); 5 collectionSortable(); 6}); 7 8$(function() { 9 $('.pageIcon.nonpage a[href="#"]').click(function(e) { 10 e.preventDefault(); 11 }); 12 13 $.fheader = { 14 refreshFixedSub: function() { 15 // console.log('refreshFixedSub'); 16 //ver4 ( ver3 + menu height ) 17 18 var body_width = (PAGE_MODE == 'c') ? $('body').width() : window.innerWidth, 19 $fh = (typeof isElviewPage != 'undefined' && isElviewPage === true) ? $('.elviewhtml header.navbar') : $('.el-menu header.navbar'), 20 fh_type = $fh.attr('data-fh-type'), 21 fh_postion = (typeof $fh.attr('data-position') != 'undefined') ? $fh.attr('data-position') : '', 22 fh_transparent = ($fh.hasClass('transparent')) ? true : false, 23 checkFixTypeMenu = (typeof $fh.attr('data-fixtype') != 'undefined' && $fh.attr('data-fixtype')) ? true : false; 24 25 if( $fh.find('#fixed-menu').length == 0 || 26 $fh.hasClass('sidebar') || 27 fh_type != 'right' || 28 $fh.find(' > .container[data-fh-align]').length == 0 29 ) { return false; } 30 31 var fixedSubOn = ($fh.find('.fh-container').css('display') == 'none') ? false : true; 32 33 if(!checkFixTypeMenu && window.innerWidth > 768) { 34 var collapse_w = $fh.find('.collapse').width(), 35 tpl_nav_w = $fh.find('#tpl-menu').outerWidth(), 36 fixed_nav_w = parseInt($fh.find('#fixed-menu').outerWidth()) + parseInt($fh.find('#fixed-menu').css('margin-left')) + parseInt($fh.find('#fixed-menu').css('margin-right')), 37 checkWidth = (parseInt(collapse_w) < parseInt(tpl_nav_w) + fixed_nav_w) ? true : false; 38 39 if(checkWidth) { 40 var checkOnepx = ((parseInt(tpl_nav_w) + fixed_nav_w) - parseInt(collapse_w) === 1) ? true : false; 41 if(checkOnepx) checkWidth = false; 42 } 43 44 var tpl_nav_cnt = $fh.find('#tpl-menu > li').length, 45 tpl_nav_th = (tpl_nav_cnt == 0) ? 0 : $fh.find('#tpl-menu > li').eq(0).position().top, 46 tpl_nav_h = (tpl_nav_cnt == 0) ? 0 : $fh.find('#tpl-menu > li').eq(tpl_nav_cnt-1).position().top, 47 checkHeight = (parseInt(tpl_nav_th) != parseInt(tpl_nav_h)) ? true : false; 48 49 if(fixedSubOn) { // aready fixed menu sub show
50 if(!checkWidth && !checkHeight) fixedSubOn = false; 51 } else { 52 if(checkWidth || checkHeight) fixedSubOn = true; 53 } 54 } 55 56 if(fixedSubOn) { 57 if($fh.hasClass('transparent')) { 58 $fh.find('#tpl-menu').addClass('overflow-menu'); 59 $fh.find('#fixed-menu').addClass('overflow-menu'); 60 $fh.find('#fixed-menu-sub').addClass('overflow-menu'); 61 } 62 var fh_nav_pdRight = parseInt($fh.find('#tpl-menu > li > a').css('padding-right')) + parseInt($fh.find('.collapse').css('padding-right')) - 10; 63 64 if($fh.find('.navbar-center').length==0) { 65 if(checkFixTypeMenu) return false; 66 $('#fixed-menu').hide(); 67 $('#fixed-menu-sub').closest('.fh-container').eq(0).show().addClass('active'); 68 } 69 70 $('#fixed-menu-sub').css('margin-right',fh_nav_pdRight+'px'); 71 } else { 72 $fh.find('#tpl-menu').removeClass('overflow-menu'); 73 $fh.find('#fixed-menu').removeClass('overflow-menu'); 74 $fh.find('#fixed-menu-sub').removeClass('overflow-menu'); 75 76 $('#fixed-menu').show(); 77 $('#fixed-menu-sub').closest('.fh-container').eq(0).hide().removeClass('active'); 78 } 79 80 if($fh.hasClass('transparent') && $fh.hasClass('overflow-menu') && !$fh.find('#tpl-menu').hasClass('overflow-menu')) { 81 $fh.find('#tpl-menu').addClass('overflow-menu'); 82 $fh.find('#fixed-menu').addClass('overflow-menu'); 83 $fh.find('#fixed-menu-sub').addClass('overflow-menu'); 84 } 85 86 87 if(PAGE_MODE == 'c') { 88 $('.addElementButton.addel-menu').css('top',$('header.navbar').outerHeight() + 'px'); 89 } 90 91 if($('.element[data-feature*=fixedscroll]').length > 0) gjs01SetFixedscroll($('.element[data-feature*=fixedscroll]').eq(0)); 92 }, 93 init: function(mode) { 94 // console.log('fheader init'); 95 var checkElviewer = ''; 96 if(window.parent && window.parent != this && $('.elviewhtml').length > 0) { 97 checkElviewer = $('#el-list-image .elgrid.active', window.parent.document).find('.blockname-str').text().trim(); 98 } 99 100 var s_validtype = (PAGE_MODE == 'c') ? VALIDTYPE : property.VALIDTYPE, 101 s_service = (PAGE_MODE == 'c') ? SERVICE : property.SERVICE, 102 checkGabia = (s_service.indexOf('gabia') > -1) ? true : false, 103 checkEllist = (typeof mode != 'undefined' && mode == 'ellist') ? true : false, 104 checkTemplate = (typeof property != 'undefined' && property.TEMPLATE && property.TEMPLATE=='1') ? true : false, 105 sid = (PAGE_MODE == 'c') ? ((checkEllist) ? checkElviewer.replace(/menu-/gi,'') : SID) : property.SID, 106 $pc_nav = (checkEllist) ? $('.elviewhtml header.navbar') : $('.el-menu header.navbar'), 107 pc_nav_name = (checkEllist) ? $pc_nav.attr('data-name') : 'menu-'+sid, 108 $mobile_nav = $pc_nav.find('#tpl-menu').closest('.navbar-'+pc_nav_name).clone(), 109 checkFixTypeMenu = (typeof $pc_nav.attr('data-fixtype') != 'undefined' && $pc_nav.attr('data-fixtype')) ? true : false; 110 111 if($pc_nav.find('.cl-menu-option').length > 0) $.moption.init(mode); 112 113 $mobile_nav.prop({id:'mobile-nav'}).removeAttr('class').removeAttr('style'); 114 115 if(!$pc_nav.hasClass('navbar-fheader') || (checkFixTypeMenu && $pc_nav.find('.cl-fixed-menu').length>0)) return false; 116 if(!checkFixTypeMenu && ($.inArray(s_validtype, ['BS','BN','SM']) > -1 || (checkGabia && s_validtype == 'FR'))) { 117 118 var fh_sub = '', 119 fh_type = $pc_nav.attr('data-fh-type'); 120 121 switch(s_validtype) { 122 case 'FR': 123 case 'BS': 124 fh_sub = '\ 125 <li class="siteLANG"><a href="#"><i class="cl-icon cl_icon_globe" aria-hidden="true"></i></a></li>\ 126 '; 127 break; 128 case 'BN': 129 fh_sub = '\ 130 <li class="siteUM"><a href="#"><i class="cl-icon cl_icon_profile" aria-hidden="true"></i></a></li>\ 131 <li class="siteLANG"><a href="#"><i class="cl-icon cl_icon_globe" aria-hidden="true"></i></a></li>\ 132 '; 133 break; 134 case 'SM': 135 fh_sub = '\ 136 <li class="siteSEARCH"><a href="#"><i class="cl-icon cl_icon_magnifier" aria-hidden="true"></i></a></li>\ 137 <li class="siteUM"><a href="#"><i class="cl-icon cl_icon_profile" aria-hidden="true"></i></a></li>\ 138 <li class="siteCART"><a href="#"><i class="cl-icon cl_icon_cart" aria-hidden="true"></i></a></li>\ 139 <li class="siteLANG"><a href="#"><i class="cl-icon cl_icon_globe" aria-hidden="true"></i></a></li>\ 140 '; 141 142 143 /* Shopping Only KO Site */ 144 // var slang = (PAGE_MODE == 'c') ? SLANG : property.SLANG; 145 // if(typeof slang != 'undefined' && typeof slang.select_code != 'undefined' && slang.select_code != 'ko') { 146 // fh_sub = '\ 147 // <li class="siteUM"><a href="#"><i class="cl-icon cl_icon_profile" aria-hidden="true"></i></a></li>\ 148 // <li class="siteLANG"><a href="#"><i class="cl-icon cl_icon_globe" aria-hidden="true"></i></a></li>\ 149 // '; 150 // } 151 break; 152 default: 153 break; 154 } 155
156 if(fh_type == 'top') { 157 var menu_container = $pc_nav.find(' > .container').attr('class'), 158 fh_line = '<hr class="fh-line" style="display: none;"/>', 159 fh_nav_pdRight = parseInt($pc_nav.find('#tpl-menu > li > a').css('padding-right')) + parseInt($pc_nav.find('.collapse').css('padding-right')) - 10, 160 fh_content = '\ 161 <div class="' + menu_container +' fh-container" style="display: none;">\ 162 <div class="navbar-wrap">\ 163 <ul class="navbar-nav navbar-top" id="fixed-menu">\ 164 ' + fh_sub + '\ 165 </ul>\ 166 </div>\ 167 </div>\ 168 '; 169 170 if($pc_nav.find('.cl-drop-fixed-menu').length > 0) $pc_nav.find('.cl-drop-fixed-menu').remove(); 171 172 if($pc_nav.find('.fh-line').length > 0) $pc_nav.find('.fh-line').replaceWith(fh_line); 173 else $pc_nav.prepend(fh_line); 174 175 if($pc_nav.find('#fixed-menu').length > 0) $pc_nav.find('.fh-container').replaceWith(fh_content); 176 else $pc_nav.prepend(fh_content); 177 178 179 if(!checkEllist) { 180 if($mobile_nav.find('#fixed-menu').length > 0) $mobile_nav.find('#fixed-menu').replaceWith($(fh_content).find('#fixed-menu').clone()); 181 else $mobile_nav.prepend($(fh_content).find('#fixed-menu').clone()); 182 } 183 184 } else if(fh_type == 'right' || fh_type == 'sidebar') { 185 var fixed_menu_str = (fh_type == 'sidebar') ? '' : 'navbar-right', 186 fh_line = '<hr class="fh-line visible-xs" style="display: none;"/>', 187 fh_content = '\ 188 <ul class="navbar-nav ' + fixed_menu_str + '" id="fixed-menu" style="display: none;">\ 189 ' + fh_sub + '\ 190 </ul>\ 191 '; 192 193 if(checkEllist) { 194 if(fh_type == 'right' && $pc_nav.find('.mini-home').length > 0) { 195 $pc_nav.find('.mini-home').closest('.navbar-collapse').attr('style','display: inline-block !important'); 196 } 197 } else { 198 var fh_container = $pc_nav.find(' > .container[data-fh-align]'), 199 fh_nav_pdRight = parseInt($pc_nav.find('#tpl-menu > li > a').css('padding-right')) + parseInt($pc_nav.find('.collapse').css('padding-right')) - 10, 200 fh_content2 = ( fh_type == 'sidebar' || fh_container.length == 0 ) ? '' : '\ 201 <div class="' + fh_container.attr('class') +' fh-container" style="display: none;">\ 202 <div class="navbar-wrap">\ 203 <ul class="navbar-nav navbar-top" id="fixed-menu-sub" style="margin-right: '+fh_nav_pdRight+'px;">\ 204 ' + fh_sub + '\ 205 </ul>\ 206 </div>\ 207 </div>\ 208 '; 209 } 210 211 if($pc_nav.find('#fixed-menu').length > 0) $pc_nav.find('#fixed-menu').replaceWith(fh_content); 212 else $pc_nav.find('#tpl-menu').before(fh_content); 213 214 if($pc_nav.find('.fh-line').length > 0) $pc_nav.find('.fh-line').replaceWith(fh_line); 215 else $pc_nav.find('#tpl-menu').before(fh_line); 216 217 if(!checkEllist) { 218 if(fh_content2.length > 0) { 219 if($pc_nav.find('#fixed-menu-sub').length > 0) $pc_nav.find('.fh-container').replaceWith(fh_content2); 220 else $pc_nav.prepend(fh_content2); 221 } 222 223 if($mobile_nav.find('#fixed-menu').length > 0) $mobile_nav.find('#fixed-menu').replaceWith($(fh_content).removeAttr('style').clone()); 224 else $mobile_nav.prepend($(fh_content).removeAttr('style').clone()); 225 } 226 227 } 228 } 229 230 /* ë©ë´ ::: íì¥ê¸°ë¥ ë²í¼ ì¶ê° ë²ì (20220928) *********************************************************/ 231 if(checkFixTypeMenu && ($.inArray(s_validtype, ['BS','BN','SM']) > -1 || (checkGabia && s_validtype == 'FR'))) { 232 var fh_sub = '', 233 fixbtnData = $.menuFixBtn.getData($pc_nav), 234 parent_dsgnbody = (checkEllist && typeof PAGE_MODE!='undefined' && PAGE_MODE=='c') ? window.parent.document : '', 235 lang_txt = (checkEllist) ? $(parent_dsgnbody).find('header.navbar-fheader .siteLANG.cl-fixbtn').attr('data-fixlang') : '', 236 lang_code = (checkEllist) ? $(parent_dsgnbody).find('header.navbar-fheader .siteLANG.cl-fixbtn').attr('data-fixlangcode') : '', 237 lang_sidebar = (fixbtnData['fh-type']=='sidebar') ? false : true, 238 slang_html = '', 239 lang_str = LANG, 240 validArray = {}, 241 validtype = (PAGE_MODE == 'c') ? VALIDTYPE : property.VALIDTYPE, 242 validplan = (PAGE_MODE == 'c') ? VALIDPLAN : property.VALIDPLAN; 243 244 if(checkEllist && typeof SLANG == 'undefined') { 245 var slang_obj = { 246 use_language : 'off', 247 lists : {}, 248 select : lang_txt, 249 select_code : lang_code 250 } 251 SLANG = slang_obj; 252 } else SLANG = (PAGE_MODE == 'c') ? SLANG : property.SLANG; 253 254 if((typeof SLANG != 'undefined' && typeof SLANG.select_code != 'undefined' && SLANG.select_code) 255 || (!$.isEmptyObject(SLANG) && SLANG.use_language == 'on' && SLANG.select_code)) { 256 lang_str = (SLANG['select_code'].toLowerCase()!='ko') ? 'en' : 'ko'; 257 } 258
259 var validArray = { 260 'validtype' : validtype, 261 'validplan' : validplan 262 } 263 264 $mobile_nav.attr('data-fixtype',fixbtnData['fixtype']) 265 .attr('data-fixlangtype',fixbtnData['fixlangtype']) 266 .attr('data-fixsize',fixbtnData['fixsize']) 267 .attr('data-fixlangsize',fixbtnData['fixlangsize']); 268 269 if(fixbtnData['fixtypeText']=='top') fh_sub += $.menuFixBtn.topSet(fixbtnData['fixtypeNum'],false,validArray,SLANG); 270 else fh_sub += $.menuFixBtn.sidebarSet(fixbtnData['fixtypeNum'],false,validArray,SLANG); 271 272 if(fixbtnData['fh-type'] == 'top') { 273 var menu_container = $pc_nav.find(' > .container').attr('class'), 274 /*fh_line = '<hr class="fh-line" style="display: none;"/>',*/ 275 fh_nav_pdRight = parseInt($pc_nav.find('#tpl-menu > li > a').css('padding-right')) + parseInt($pc_nav.find('.collapse').css('padding-right')) - 10, 276 fh_content = '\ 277 <div class="' + menu_container +' fh-container">\ 278 <div class="navbar-wrap">\ 279 <ul class="navbar-nav navbar-top cl-fixed-menu" id="fixed-menu">\ 280 ' + fh_sub + '\ 281 </ul>\ 282 </div>\ 283 </div>\ 284 '; 285 286 if($pc_nav.find('input[class*="cl-menu-"]').length > 0) $pc_nav.find('input[class*="cl-menu-"]').last().after(fh_content); 287 else $pc_nav.prepend(fh_content); 288 289 //if(!checkEllist) { 290 if($mobile_nav.find('#fixed-menu').length > 0) $mobile_nav.find('#fixed-menu').replaceWith($(fh_content).find('#fixed-menu').clone()); 291 else $mobile_nav.prepend($(fh_content).find('#fixed-menu').clone()); 292 //} 293 } else if(fixbtnData['fh-type'] == 'right' || fixbtnData['fh-type'] == 'sidebar') { 294 var fixed_menu_str = (fixbtnData['fh-type'] == 'sidebar') ? '' : 'navbar-right', 295 fh_line = '<hr class="fh-line visible-xs" style="display: none;"/>', 296 fh_content = '\ 297 <ul class="navbar-nav ' + fixed_menu_str + ' cl-fixed-menu" id="fixed-menu">\ 298 ' + fh_sub + '\ 299 </ul>\ 300 '; 301 302 if(checkEllist) { 303 if(fixbtnData['fh-type'] == 'right' && $pc_nav.find('.mini-home').length > 0) { 304 $pc_nav.find('.mini-home').closest('.navbar-collapse').attr('style','display: inline-block !important'); 305 } 306 } 307 308 $pc_nav.find('#fixed-menu').remove(); 309 $pc_nav.find('#tpl-menu').before(fh_content); 310 311 //if(!checkEllist) { 312 if($mobile_nav.find('#fixed-menu').length > 0) $mobile_nav.find('#fixed-menu').replaceWith($(fh_content).removeAttr('style').clone()); 313 else { 314 $(fh_content).removeAttr('style').clone(); 315 $mobile_nav.prepend($(fh_content).removeAttr('style').clone()); 316 } 317 //} 318 } 319 320 /* ë©ë´ ëìì¸ë³ê²½ :: slang make X => fheader init(pc_nav)ìì ì ì© ***/ 321 if(checkEllist) { 322 slang_html = $.menuFixBtn.fixLangSet(fixbtnData['fixlangtypeNum'],lang_sidebar,SLANG,'',validArray); 323 $pc_nav.find('.siteLANG.cl-fixbtn').remove(); 324 (fixbtnData['fh-type']=='sidebar') ? $pc_nav.find('.menu-inner').after(slang_html) : $pc_nav.find('#fixed-menu').append(slang_html); 325 326 $pc_nav.find('.siteLANG').removeClass('dropup').removeClass('dropdown'); 327 $pc_nav.find('.siteLANG .cl-lang').removeClass('dropdown-toggle'); 328 $pc_nav.find('.siteLANG .dropdown-menu').remove(); 329 } 330 } 331 332 // $mobile_nav.find('#fixed-menu').removeAttr('class'); 333 // $mobile_nav.find('#tpl-menu').prop({class:'nav navbar-nav'}).find('ul').prop({class:'',id:''}); 334 // $mobile_nav.find('#tpl-menu').removeAttr('class'); 335 $mobile_nav.find('#tpl-menu').removeClass('hide').removeClass('preloading'); 336 $mobile_nav.find('#tpl-menu').removeAttr('style'); 337 338 $mobile_nav.find('.dropdown').not('.siteUM.cl-fixbtn').each(function() { 339 $(this).addClass('menu-has-children').removeClass('dropdown'); 340 $(this).find('> a').removeClass('dropdown-toggle'); 341 $(this).find('> a i').remove(); 342 343 if(($(this).hasClass('active') || $(this).hasClass('open')) && $(this).find('li.active').length > 0) { 344 if($(this).find('li.active').length > 0) $(this).removeClass('active').addClass('open'); 345 $(this).find('> a').nextAll('ul').eq(0).slideToggle(); 346 $(this).prepend('<i class="fa fa-chevron-up"></i>'); 347 } else { 348 $(this).prepend('<i class="fa fa-chevron-down"></i>'); 349 } 350 }); 351 352 if(checkFixTypeMenu && ($.inArray(s_validtype, ['BS','BN','SM']) > -1 || (checkGabia && s_validtype == 'FR'))) { 353 $mobile_nav.find('#fixed-menu').wrap('<div class="mobilenav_top"></div>'); 354 355 /* ë©ë´ ëìì¸ë³ê²½ :: slang make X => fheader init(mobile_nav)ìì ì ì© ***/ 356 if(checkEllist) { 357 var psearch_ellist = `
358 <li class="siteSEARCH"> 359 <a href="javascript:;" class="psearch-btn"><i class="cl-icon cl_icon_magnifier" aria-hidden="true"></i></a> 360 <div class="psearch-overlay"> 361 <span class="psearch-close"><img src="//storage.googleapis.com/i.addblock.net/fa-close-modal-white.png" alt="Close Product Search"></span></span> 362 <div class="psearch-body"> 363 <span class="psearch-wrap"> 364 <a href="#" class="psearch-icon"><i class="cl-icon cl_icon_magnifier"></i></a> 365 <input class="psearch-input" type="text" name="" placeholder="${$.lang[LANG]['psearch.input.placeholder']}"> 366 </span> 367 </div> 368 </div> 369 </li> 370 `; 371 var sitelangStr = $.menuFixBtn.fixLangSet(fixbtnData['fixlangtypeNum'],false,'',true); 372 373 var hide_UM = (s_validtype=='BN' || s_validtype=='SM') ? '' : 'hide'; 374 $mobile_nav.find('.mobilenav_top').prepend('<div class="login-content siteUM"><a href="javascript:;" class="login '+hide_UM+'">' + $.lang[lang_str]['manager.site-um.mobile.login'] + clSVG('select_arrow',16,16) + '</a></div>'); 375 if(s_validtype=='SM') { 376 $mobile_nav.find('#fixed-menu .siteSEARCH').replaceWith(psearch_ellist); 377 } 378 if(s_validtype && sitelangStr) $mobile_nav.append(sitelangStr).find('.cl-fixbtn.siteLANG'); 379 } 380 //if(checkEllist) $mobile_nav.find('#fixed-menu .mobilenav_top').prepend(ellist_mobile_logincontent); 381 } 382 383 var fh_line = '<hr class="fh-line" />'; 384 (checkFixTypeMenu) ? $mobile_nav.find('.mobilenav_top').after(fh_line) : $mobile_nav.find('#fixed-menu').after(fh_line); 385 //$mobile_nav.find('#tpl-menu').after(fh_line); 386 387 var menu_selector = (checkEllist) ? '.elviewhtml .menu-'+sid : '.el-menu .menu-'+sid, 388 $checkMenuEL = $(menu_selector), 389 check_mobile_design = $checkMenuEL.hasClass('mobile-design-clear') ? false : true, 390 check_mnormal = ($checkMenuEL.find('.cl-menu-normal').length > 0) ? true : false, 391 check_msidebar = ($checkMenuEL.find('.cl-menu-sidebar').length > 0) ? true : false, 392 check_moption = ($checkMenuEL.find('.cl-menu-option').length > 0) ? true : false; 393 if(checkEllist) $mobile_nav.addClass('elview'); 394 if(check_moption) $mobile_nav.addClass('moption'); 395 else if(check_mnormal) $mobile_nav.addClass('mnormal'); 396 else if(check_msidebar) $mobile_nav.addClass('msidebar'); 397 if(!check_mobile_design) { 398 $mobile_nav.addClass('mobile-design-clear menu-'+sid); 399 $mobile_nav.find('.menu-has-children > ul').addClass('dropdown-menu'); 400 } 401 402 $('.dsgn-body').append($mobile_nav); 403 $('.dsgn-body').append('<div id="mobile-body-overly"><span class="pull-right hand" id="mobile-nav-toggle"><img src="//storage.googleapis.com/i.addblock.net/fa-close-modal-white.png" alt="Close Menu"></span></div>'); 404 405 if(checkTemplate) { 406 $(document).find('#mobile-nav').find('.mobilenav_top').hide(); 407 $(document).find('#mobile-nav').find('.mobilenav_top').next('.fh-line').hide(); 408 } 409 410 var mobile_selector = (checkEllist) ? ['.elview','.elviewhtml'] : ['','.el-menu']; 411 if(check_moption || check_mnormal || check_msidebar) { 412 413 mobile_selector[0] += (check_moption) ? '.moption' : ((check_msidebar) ? '.msidebar' : '.mnormal'); 414 mobile_selector[1] += (check_moption) ? ' .cl-menu-option ~ .container' : ((check_msidebar) ? ' .cl-menu-sidebar ~ .container' : ' .cl-menu-normal ~ .container'); 415 416 var nav_font = getComputedStyle(document.querySelector(menu_selector)).getPropertyValue('--menu-fname'), 417 nav_color = getComputedStyle(document.querySelector(menu_selector)).getPropertyValue('--menu-color'), 418 nav_color_active = getComputedStyle(document.querySelector(menu_selector)).getPropertyValue('--menu-color-active'), 419 nav_fixed_key = (check_mobile_design) ? '--menu-fname' : '--fixed-menu-color', 420 fixed_color = (checkFixTypeMenu) ? getComputedStyle(document.querySelector(menu_selector)).getPropertyValue(nav_fixed_key) : ''; 421 } else { 422 var nav_font = (checkFixTypeMenu) ? $('.menu-' + sid + ' ul#tpl-menu > li > a').css('font-family') : $('.menu-' + sid + ' ul.navbar-nav > li > a').css('font-family'); 423 if(typeof nav_font != 'undefined' && nav_font) { 424 nav_font = nav_font.replace(/\'/gi,'').replace(/\"/gi,''); 425 426 var nav_color = $('.menu-' + sid + ' ul.navbar-nav > li > a:not(:hover)').css('color'), 427 nav_color_active = $('.menu-' + sid + ' ul.navbar-nav > li.active > a').css('color'), 428 fixed_color = ''; 429 if(checkFixTypeMenu) { 430 fixed_color = ($('.el-menu .navbar-fheader').hasClass('mobile-design-clear')) ? $('.menu-' + sid + ' ul.cl-fixed-menu >
430 li.cl-fixbtn a').css('color') : $('.el-menu .navbar-toggle .icon-bar').css('background-color'); 431 } 432 } 433 434 if(typeof nav_color_active == 'undefined' || nav_color_active == '') nav_color_active = nav_color; 435 var mcss_fixed = (checkFixTypeMenu) ? '\ 436 '+mobile_selector[1]+' .siteCART.micon {color : ' + fixed_color + '; }\ 437 #mobile-nav'+mobile_selector[0]+'.mobile-design-clear .mobilenav_top a {color : ' + fixed_color + '; }\ 438 #mobile-nav'+mobile_selector[0]+'.mobile-design-clear .mobilenav_top svg {fill : ' + fixed_color + '; }\ 439 ' : '', 440 mcss_more = '\ 441 @media only screen and (max-width:768px) {\ 442 #mobile-nav'+mobile_selector[0]+' { font-family: ' + nav_font + '; }\ 443 #mobile-nav'+mobile_selector[0]+'.mobile-design-clear #tpl-menu li.menu-has-children i,\ 444 #mobile-nav'+mobile_selector[0]+'.mobile-design-clear #tpl-menu li.menu-has-children i:focus { color: ' + nav_color + '; }\ 445 #mobile-nav'+mobile_selector[0]+'.mobile-design-clear #tpl-menu li.menu-has-children.active i { color: ' + nav_color_active + '; }\ 446 '+ mcss_fixed +'\ 447 }\ 448 '; 449 450 var menu_css_selector = (checkEllist) ? '.elviewcss' : '#menu-'+sid; 451 $(menu_css_selector).append(mcss_more); 452 } 453 454 $('.el-menu').removeClass('_ready'); 455 }, 456 set: function(mode) { 457 // console.log('fheader set'); 458 var checkEllist = (typeof mode != 'undefined' && mode=='ellist') ? true : false, 459 checkStorageCapture = (typeof isStoragebox != 'undefined' && isStoragebox && typeof isCapture != 'undefined' && isCapture) ? true : false, 460 $fh = (checkEllist) ? $('.elviewhtml header.navbar') : $('.el-menu header.navbar'), 461 fh_type = $fh.attr('data-fh-type'), 462 checkFixTypeMenu = (typeof $fh.attr('data-fixtype') != 'undefined' && $fh.attr('data-fixtype')) ? true : false; 463 464 if($fh.find('#fixed-menu').children().length == 0) { 465 if(fh_type == 'top') $fh.find('.fh-container').remove(); 466 else if(fh_type == 'right' || fh_type == 'sidebar') $fh.find('#fixed-menu, .fh-line').remove(); 467 $('#mobile-nav #fixed-menu, #mobile-nav .fh-line').remove(); 468 } 469 470 if(!checkFixTypeMenu) { 471 if(checkStorageCapture) { 472 } else { 473 if(fh_type == 'top') { 474 $fh.find('.fh-container').eq(0).slideToggle(); 475 } else if(fh_type == 'right' || fh_type == 'sidebar') { 476 $fh.find('#fixed-menu').slideToggle(); 477 } 478 479 $fh.find('.fh-line').slideToggle(); 480 } 481 } 482 483 setTimeout(function() { 484 if(checkEllist) { 485 if(fh_type == 'right' && $fh.find('.mini-home').length > 0) { 486 $fh.find('.mini-home').closest('.navbar-collapse').attr('style','display: inline-block !important'); 487 } else if(checkFixTypeMenu && fh_type == 'sidebar') { 488 $fh.find('#fixed-menu').css('overflow',''); 489 } 490 } else { 491 if($('#page-loading-css').length == 0) { 492 setTimeout(function() { 493 $.fheader.position(); 494 },400); 495 } 496 } 497 498 },400); 499 }, 500 position: function() { 501 if(!$('header.navbar').hasClass('navbar-fheader')) { 502 var parentDocument = $(window.parent.document), 503 $detail_modal = parentDocument.find('.product-detail-modal'); 504 if($detail_modal.length) { 505 ($('.openBandBanner').length) ? 506 $('.dsgn-body').css('padding-top','120px') : 507 $('.dsgn-body').css('padding-top','0px'); 508 } 509 return false; 510 } 511 512 // console.log('fheader position'); 513 // if(!$('header.navbar').hasClass('navbar-fheader')) return false; 514 515 var checkEllist = (typeof isElviewPage != 'undefined' && isElviewPage === true) ? true : false, 516 $fh = (checkEllist) ? $('.elviewhtml header.navbar') : $('.el-menu header.navbar'), 517 fh_type = $fh.attr('data-fh-type'), 518 fh_postion = (typeof $fh.attr('data-position') != 'undefined') ? $fh.attr('data-position') : '', 519 fh_transparent = ($fh.hasClass('transparent')) ? true : false, 520 checkFixTypeMenu = (typeof $fh.attr('data-fixtype') != 'undefined' && $fh.attr('data-fixtype')) ? true : false; 521 522 var body_width = (PAGE_MODE == 'c') ? $('body').width() : window.innerWidth; 523 524 if(body_width <= 768) { 525 if(fh_type == 'right' && $fh.find('.mini-home').length > 0) { 526 $fh.find('.mini-home').parent().removeAttr('style'); 527 } 528 $fh.find('.psearch-overlay.open').removeClass('open'); 529 $('.cl-popupBanner').removeClass('zindex20'); 530 if(!checkFixTypeMenu) $fh.find('#fixed-menu-sub').closest('.fh-container').eq(0).hide(); 531 } else { 532 if(fh_type == 'right' && $fh.find('.mini-home').length > 0) { 533 if(!checkFixTypeMenu) { 534 $fh.find('.mini-home').closest('.navbar-collapse').attr('style','display: inline-block !important'); 535 } 536 } 537 538 if(fh_type == 'right' && !$fh.hasClass('sidebar') && $fh.find(' > .container[data-fh-align]').length > 0) { 539 $.fheader.refreshFixedSub(); 540 } 541 542 $('#mobile-nav .psearch-overlay.open').removeClass('open'); 543 $('.cl-popupBanner').removeClass('zindex20'); 544 if($('.dsgn-body').hasClass('mobile-nav-active')) $fh.find('.navbar-toggle').click(); 545 } 546 547 if(fh_transparent) { 548 if($('.cl-bandBanner').length == 0) { 549 $('.dsgn-body').css('padding-top','0px'); 550 if(PAGE_MODE == 'c') $('.el-menu_ctrl .config-element').removeAttr('style'); 551 } 552 } else if(fh_postion != 'relative') { 553 if(fh_type == 'sidebar' && body_width > 768) { 554 var pt = '0px'; 555 if(typeof getComputedStyle(document.querySelector('body')).getPropertyValue('--bandBanner-height-pc') != 'undefined') { 556 pt = getComputedStyle(document.querySelector('body')).getPropertyValue('--bandBanner-height-pc'); 557 } 558 $('.dsgn-body').css('padding-top',pt); 559 return false;
560 } 561 } 562 563 if(PAGE_MODE == 'c') { 564 if($('.dsgn-body').get(0).scrollHeight > $('.dsgn-body').innerHeight()) { 565 var scrollbar_gap = window.innerWidth - $('.dsgn-body').get(0).clientWidth; 566 $('.navbar-fixed-top, .navbar-fixed-bottom').css('right',scrollbar_gap); 567 } else { 568 $('.navbar-fixed-top, .navbar-fixed-bottom').removeAttr('style'); 569 } 570 } 571 if(checkEllist) { 572 if(checkFixTypeMenu) setFixedMenuCss(true); 573 } else { 574 var delay_time = (PAGE_MODE == 'c') ? 800 : 0; 575 setTimeout(function() { 576 var header_h = (fh_transparent || ($fh.hasClass('sidebar') && $('.dsgn-body').width() > 767) ) ? 0 : $fh.outerHeight(), 577 band_h = $.siteBanner.getBandHeight(); 578 if($fh.find('.cl-menu-option.open:not(.single:not(.nfullDrop))').length > 0 && $fh.find('.cl-menu-option.open').is('[data-moption="nfull"], [data-moption="ntoggle"]')) { 579 var hide_h = $fh.find('.moption-container').outerHeight(); 580 header_h -= hide_h; 581 } 582 $('.dsgn-body').css('padding-top', (band_h + header_h)+'px'); 583 if($('.el_0.element').is('[data-type="gallery"][data-type2="premium"][data-feature*=fixedscroll]')) gjs01SetFixedscroll($('.el_0.element')); 584 }, delay_time); 585 586 if(PAGE_MODE == 'c') { 587 setTimeout(function() { 588 var btn_top = $('header.navbar').outerHeight(); 589 $('.addElementButton.addel-menu').css('top',btn_top + 'px'); 590 }, delay_time+200); 591 } 592 } 593 } 594 } 595 596 $.moption = { 597 getList: function(menu_selector) { 598 var checkEditList = (menu_selector.match(/^\.elmenu-color-edit/gi)) ? true : false, 599 moption_list = []; 600 601 $(menu_selector).find('#tpl-menu > li').each(function() { 602 var tmp_child = [], 603 tmp_main = $(this); 604 if(tmp_main.hasClass('dropdown')) { 605 tmp_main.find('.dropdown-menu > li').each(function() { 606 var tmp_sub = $(this); 607 tmp_child.push({ 608 'idx0': moption_list.length, 609 'idx1': tmp_child.length, 610 'name': tmp_sub.find(' > a').eq(0).text().trim(), 611 'active': (tmp_sub.hasClass('active')) ? 'active' : '', 612 'href': (checkEditList) ? 'javascript:;' : '', 613 'target': '', 614 'isbookmark': '', 615 'isflink': '', 616 'depth': 1, 617 'children': tmp_child, 618 }); 619 }); 620 } 621 622 moption_list.push({ 623 'idx0': moption_list.length, 624 'name': tmp_main.find(' > a').eq(0).text().trim(), 625 'active': (tmp_main.hasClass('active')) ? 'active' : '', 626 'href': (checkEditList) ? 'javascript:;' : '', 627 'target': '', 628 'isbookmark': '', 629 'isflink': '', 630 'depth': 0, 631 'children': tmp_child, 632 }); 633 }); 634 return moption_list; 635 }, 636 init: function(mode) { 637 // console.log('fh moption(mode: '+mode+')'); 638 639 var checkElviewer = ''; 640 if(window.parent && window.parent != this && $('.elviewhtml').length > 0) { 641 checkElviewer = $('#el-list-image .elgrid.active', window.parent.document).find('.blockname-str').text().trim(); 642 } 643 644 var s_validtype = (PAGE_MODE == 'c') ? VALIDTYPE : property.VALIDTYPE, 645 s_service = (PAGE_MODE == 'c') ? SERVICE : property.SERVICE, 646 checkGabia = (s_service.indexOf('gabia') > -1) ? true : false, 647 checkEllist = (typeof mode != 'undefined' && mode == 'ellist') ? true : false, 648 checkMenuEdit = (typeof mode != 'undefined' && mode == 'menuedit') ? true : false, 649 checkTemplate = (typeof property != 'undefined' && property.TEMPLATE && property.TEMPLATE=='1') ? true : false, 650 sid = (PAGE_MODE == 'c') ? ((checkEllist) ? checkElviewer.replace(/menu-/gi,'') : SID) : property.SID, 651 pc_seletor = (checkEllist) ? '.elviewhtml header.navbar' : ((checkMenuEdit) ? '.elmenu-color-edit header.navbar' : '.el-menu header.navbar'), 652 $pc_nav = $(pc_seletor), 653 $mobile_nav = $pc_nav.find('#tpl-menu').closest('.navbar-menu-'+sid).clone(), 654 checkFixTypeMenu = (typeof $pc_nav.attr('data-fixtype') != 'undefined' && $pc_nav.attr('data-fixtype')) ? true : false; 655 656 var moption = $pc_nav.find('.cl-menu-option').attr('data-moption'), 657 checkDrawClmoption = ($.inArray(moption, ['nfull','ntoggle']) > -1) ? true : false; 658 if(checkDrawClmoption) { 659 var moption_table = '<ul class="cl-'+moption+' cl-moption"></ul>', 660 moption_col = '<li class="cl-moption-col"></li>', 661 moption_row = '<div class="cl-moption-row"></div>'; 662 663 if($pc_nav.find('.container.moption-container').length > 0) $pc_nav.find('.container.moption-container').html('<div class="moption-row"></div>'); 664 else $pc_nav.find('.container:not(:is(.fh-container, .moption-container))').after('<div class="container moption-container"><div class="moption-row"></div></div>'); 665 var $moptionContainer = $pc_nav.find('.container.moption-container'), 666 $moptionRow = $moptionContainer.find('.moption-row'); 667 if($pc_nav.find('.container:not(:is(.fh-container, .moption-container))').hasClass('full-width')) $moptionContainer.addClass('full-width'); 668 669 $moptionRow.append(moption_table); 670 var menu_option = (PAGE_MODE == 'c') ? MENUOPTION : property.MENUOPTION, 671 $moptionTable = $moptionContainer.find('.cl-moption'); 672 673 if(checkMenuEdit) menu_option = $.moption.getList(pc_seletor); 674 $.each(menu_option, function(idx0, obj0) { 675 var $tmpCol = $(moption_col), 676 tmp_row = moption_row.replace(/cl\-moption\-row\"\>\</g,'cl-moption-row '+obj0.active+'"><a href="' + obj0.href + '" ' + obj0.target + obj0.isbookmark + obj0.isflink + '>
676' + obj0.name + '</a><'); 677 if(obj0.children.length > 0) { 678 $.each(obj0.children, function(idx1, obj1) { 679 tmp_row += moption_row.replace(/cl\-moption\-row\"\>\</g,'cl-moption-row '+obj1.active+'" data-parent="'+obj1.idx0+'"><a href="' + obj1.href + '" ' + obj1.target + obj1.isbookmark + obj1.isflink + '>' + obj1.name + '</a><'); 680 }); 681 } 682 683 $tmpCol.append(tmp_row); 684 if($tmpCol.find('.cl-moption-row').length > 1) $tmpCol.addClass('has-sub'); 685 if(menu_option.length-1 == idx0) $tmpCol.addClass('last-sub'); 686 $moptionTable.append($tmpCol); 687 }); 688 } 689 690 switch(moption) { 691 case 'nfull': 692 693 var hasSubMenu = (PAGE_MODE == 'c') ? MENUCHECK.sub : property.MENUCHECK.sub; 694 if(hasSubMenu) $pc_nav.find('.cl-menu-option').removeClass('single'); 695 else $pc_nav.find('.cl-menu-option').addClass('single'); 696 697 $pc_nav.find('#tpl-menu > li, .moption-container').off('mouseover mouseleave').on({ 698 mouseover: function(e) { 699 if($(this).find('.cl-moption').is(':empty') || (PAGE_MODE == 'c' && $('#el-blockConfig').hasClass('open') && selectEL != 'el-menu')) return false; 700 701 $(this).closest('header').find('.cl-menu-option').addClass('open'); 702 }, 703 mouseleave: function(e) { 704 if($(this).find('.cl-moption').is(':empty')) return false; 705 706 if( $(this).closest('header').find('.cl-menu-option').hasClass('fixed') || 707 $(this).closest('header').find('.cl-menu-option').hasClass('nfullDrop') || 708 $('#el-blockConfig').is('.open') 709 ) { 710 return false; 711 } 712 713 $(this).closest('header').find('.cl-menu-option').removeClass('open'); 714 if($(this).closest('header').find('.cl-menu-option').is('[data-mwidth="all"]')) { 715 $.fheader.position(); 716 } 717 } 718 }); 719 break; 720 721 case 'ntoggle': 722 break; 723 724 default: 725 break; 726 } 727 728 $pc_nav.find('.cl-drop-fixed-menu ~ .navbar-toggle, .cl-menu-option ~ .container .navbar-toggle').off('click').on({ 729 click: function() { 730 if($('body').width() > 767) $.moption.setRootBlock($pc_nav,'--block-height',true); 731 }, 732 }); 733 734 735 $pc_nav.ready(function() { 736 setTimeout(function() { 737 if($pc_nav.find('.cl-menu-option[data-moption="nfull"]').length > 0) $.moption.checkNfullDrop(pc_seletor); 738 else if($pc_nav.find('.cl-menu-option[data-moption="ntoggle"]').length > 0 && $pc_nav.is('[data-fh-type="right"]')) $.moption.drawClDropFixedmenu($pc_nav); 739 }, 300); 740 }); 741 742 $(window).resize(function() { 743 if(this.moptionResizeTO) { 744 clearTimeout(this.moptionResizeTO); 745 } 746 this.moptionResizeTO = setTimeout(function() { 747 $(this).trigger('resizeMoptionEnd'); 748 }, 300); 749 }); 750 $(window).on('resizeMoptionEnd', function() { 751 $.fheader.position(); 752 if($pc_nav.find('.cl-menu-option[data-moption="nfull"]').length > 0) $.moption.checkNfullDrop(pc_seletor); 753 else if($pc_nav.find('.cl-menu-option[data-moption="ntoggle"]').length > 0 && $pc_nav.is('[data-fh-type="right"]')) $.moption.drawClDropFixedmenu($pc_nav); 754 755 if($pc_nav.find('.cl-menu-option').length > 0 && $('body').width() < 767) { 756 $pc_nav.find('.cl-menu-option').removeClass('open'); 757 } else { 758 if ($('header #tpl-menu').children().length) $('header.navbar-fheader .navbar-toggle').css({ 'visibility': 'visible' }); 759 else $('header.navbar-fheader .navbar-toggle').css({ 'visibility': 'hidden' }); 760 $('.dsgn-body').removeClass('mobile-nav-active'); 761 $('#mobile-body-overly').removeClass('in'); 762 $('#mobile-nav .siteLANG.cl-fixbtn').hide(); 763 } 764 }); 765 }, 766 setRootBlock(thisBlock,root_key,usedtoggle) { 767 if( typeof thisBlock != 'undefined' && thisBlock.length > 0 && thisBlock.find('.cl-menu-option').length > 0) { 768 if(root_key == '--block-height') { 769 var h = thisBlock.outerHeight(); 770 document.querySelector('header').style.setProperty('--block-height', h + 'px', null); 771 772 if($('#el-blockConfig').hasClass('open')) { 773 if(!thisBlock.find('.cl-menu-option').hasClass('open')) thisBlock.find('.cl-menu-option').toggleClass('open'); 774 } else if(usedtoggle) { 775 thisBlock.find('.cl-menu-option').toggleClass('open'); 776 } else { 777 thisBlock.find('.cl-menu-option').removeClass('open'); 778 } 779 780 if(thisBlock.find('.cl-menu-option').is('.nfullDrop[data-mo
780ption="nfull"]')) { 781 var h_p_b = thisBlock.css('padding-bottom').replace(/[^0-9]/g,'') * 1; 782 document.querySelector('header').style.setProperty('--cl-nfull-top', h_p_b + 'px', null); 783 } 784 } 785 } 786 787 }, 788 drawClDropFixedmenu: function(pcNav) { 789 if($('header #fixed-menu').length > 0) { 790 var drop_fixed_menu = '<ul class="cl-drop-fixed-menu">' + $('header #fixed-menu').html() + '</ul>'; 791 if(pcNav.find('.cl-drop-fixed-menu').length > 0) pcNav.find('.cl-drop-fixed-menu').replaceWith(drop_fixed_menu); 792 else if(pcNav.find('.navbar-header .micon').length > 0) pcNav.find('.navbar-header .micon').before(drop_fixed_menu); 793 else pcNav.find('.navbar-header .navbar-toggle').before(drop_fixed_menu); 794 } 795 }, 796 checkNfullDrop: function(nav_selector) { 797 var $pc_nav = $(nav_selector), 798 isellist = (nav_selector.match(/^\.elviewhtml/gi)) ? true : false, 799 iselmenuedit = (nav_selector.match(/^\.elmenu-color-edit/gi)) ? true : false, 800 isparent = (typeof window.parent != 'undefined' && window.parent != this) ? true : false; 801 802 if($pc_nav.find('.cl-menu-option[data-moption="nfull"]').length > 0) { 803 804 var checkBlockConfig = $('#el-blockConfig').hasClass('open'); 805 if(checkBlockConfig || isparent) { 806 $pc_nav.find('.cl-drop-fixed-menu').remove(); 807 $pc_nav.find('.cl-menu-option').removeAttr('data-nfull-drop').removeClass('nfullDrop'); 808 } 809 810 var delay = (checkBlockConfig) ? 500 : 0; 811 setTimeout(function() { 812 var checkMfullDrop = $pc_nav.find('.cl-menu-option').is('[data-nfull-drop]'), 813 // checkMenuOrg = ($pc_nav.find('.cl-menu-option').is('[data-mwidth]')) ? false : true, 814 // tpl_menu_selector = (checkMenuOrg) ? nav_selector+' #tpl-menu' : nav_selector+' .cl-moption', 815 tpl_menu_selector = nav_selector + ' #tpl-menu', 816 m_wrap = $(tpl_menu_selector).first().width(), 817 m_w = 0, 818 mdrop_onoff = (checkMfullDrop) ? $pc_nav.find('.cl-menu-option').hasClass('nfullDrop') : false; 819 820 var fixed_menu_w = $pc_nav.find('#fixed-menu').outerWidth(); 821 if($pc_nav.is('[data-fh-type="right"][data-fixtextalign="center"]')) { 822 $pc_nav.find(nav_selector+' #tpl-menu').css('padding-left',fixed_menu_w + 'px'); 823 } else { 824 document.querySelector(nav_selector+' #tpl-menu').style.removeProperty('padding-left'); 825 } 826 827 if(checkMfullDrop) { 828 var m_container = $pc_nav.find('.container:not(.moption-container, .fh-container)').eq(0).width(), 829 m_drop = $pc_nav.find('.cl-menu-option').attr('data-nfull-drop'); 830 if(Number(m_drop) > 0 && m_container > Number(m_drop)) { 831 $pc_nav.find('.cl-menu-option[data-moption="nfull"]').removeClass('nfullDrop'); 832 } else { 833 $pc_nav.find('.cl-menu-option[data-moption="nfull"]').addClass('nfullDrop'); 834 setFixedMenuCss(isellist); 835 } 836 } else { 837 $(tpl_menu_selector).first().children().each(function() { 838 m_w += $(this).outerWidth(); 839 }); 840 841 var m_top = $(tpl_menu_selector).first().children().first().offset().top, 842 m_last = $(tpl_menu_selector).first().children().last().offset().top; 843 if(m_top != m_last || m_w > m_wrap) { 844 var mcontainer = $pc_nav.find('.container:not(.moption-container, .fh-container)').eq(0).width(), 845 mdrop = mcontainer + (m_w - m_wrap); 846 847 $pc_nav.find('.cl-menu-option[data-moption="nfull"]').attr('data-nfull-drop',mdrop).addClass('nfullDrop'); 848 setFixedMenuCss(isellist); 849 } else { 850 $pc_nav.find('.cl-menu-option[data-moption="nfull"]').removeAttr('data-nfull-drop'); 851 } 852 } 853 854 if($pc_nav.is('[data-fh-type="right"]') && $pc_nav.find('.cl-menu-option').hasClass('nfullDrop')) { 855 $.moption.drawClDropFixedmenu($pc_nav); 856 } 857 858 // if(iselmenuedit) $pc_nav.find('.cl-menu-option[data-moption="nfull"]').removeClass('nfullDrop'); 859 if($('body').width() > 767) $.moption.setRootBlock($pc_nav,'--block-height',false); 860 }, delay); 861 } else { 862 if($('body').width() > 767) $.moption.setRootBlock($pc_nav,'--block-height',false); 863 } 864 865 }, 866 } 867 868 $.psearch = { 869 init: function() { 870 // console.log('psearch init');
871 if(!$('.el-menu header.navbar').hasClass('navbar-fheader')) return false; 872 873 // psearch - ì¼í몰 ìê¸ì ì¬ì©ì¬ë¶ ì²´í¬ í on/off 874 var s_validplan = (PAGE_MODE == 'c') ? VALIDPLAN : property.VALIDPLAN, 875 s_validtype = (PAGE_MODE == 'c') ? VALIDTYPE : property.VALIDTYPE, 876 checkSM = (s_validplan && s_validtype == 'SM') ? true : false; 877 878 if(checkSM) $.psearch.set('on'); 879 else $.psearch.set('off'); 880 }, 881 set: function(onoff) { 882 // console.log('psearch set'); 883 if(!$('.el-menu header.navbar').hasClass('navbar-fheader')) return false; 884 885 if(onoff.match(/on/gi)) $.psearch.makeSiteSEARCH(); 886 else { 887 $('#fixed-menu, #fixed-menu-sub').find('.siteSEARCH').remove(); 888 } 889 }, 890 makeSiteSEARCH: function() { 891 // console.log('psearch makeSiteSearch'); 892 // ì°ì PC, MOBILE 구조 ëì¼íê² ì ì©í¨ => (menufixbtnì ì© ì ë©ë´ë¸ë) 893 894 /* Shopping Only KO Site */ 895 // var slang = (PAGE_MODE == 'c') ? SLANG : property.SLANG; 896 // if(typeof slang != 'undefined' && typeof slang.select_code != 'undefined' && slang.select_code != 'ko') { 897 // $('#fixed-menu, #fixed-menu-sub').find('.siteSEARCH').remove(); 898 // return false; 899 // } 900 901 var pc_nav = $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub'); 902 var mobile_nav = $('#mobile-nav #fixed-menu'); 903 var checkFixTypeMenu = (typeof $('.el-menu header.navbar').attr('data-fixtype') != 'undefined' && $('.el-menu header.navbar').attr('data-fixtype')) ? true : false; 904 var checkLux = (PAGE_MODE == 'c') ? LUX : property.LUX; 905 var search_icon = (checkFixTypeMenu) ? clSVG('fixbtn_search4',28,28) : '<i class="cl-icon cl_icon_magnifier" aria-hidden="true"></i>'; 906 907 var content = (checkFixTypeMenu) ? ` 908 <div class="psearch-overlay"> 909 <span class="psearch-close"><img src="//storage.googleapis.com/i.addblock.net/fa-close-modal-white.png" alt="Close Product Search"></span></span> 910 <div class="psearch-body"> 911 <span class="psearch-wrap"> 912 <a href="#" class="psearch-icon"><i class="cl-icon cl_icon_magnifier"></i></a> 913 <input class="psearch-input" type="text" name="" placeholder="${$.lang[LANG]['psearch.input.placeholder']}"> 914 </span> 915 </div> 916 </div> 917 ` : ` 918 <li class="siteSEARCH"> 919 <a href="javascript:;" class="psearch-btn"><i class="cl-icon cl_icon_magnifier" aria-hidden="true"></i></a> 920 <div class="psearch-overlay"> 921 <span class="psearch-close"><img src="//storage.googleapis.com/i.addblock.net/fa-close-modal-white.png" alt="Close Product Search"></span></span> 922 <div class="psearch-body"> 923 <span class="psearch-wrap"> 924 <a href="#" class="psearch-icon"><i class="cl-icon cl_icon_magnifier"></i></a> 925 <input class="psearch-input" type="text" name="" placeholder="${$.lang[LANG]['psearch.input.placeholder']}"> 926 </span> 927 </div> 928 </div> 929 </li> 930 `; 931 var mobile_content = ` 932 <li class="siteSEARCH"> 933 <a href="javascript:;" class="psearch-btn">${search_icon}</a> 934 <div class="psearch-overlay"> 935 <span class="psearch-close"><img src="//storage.googleapis.com/i.addblock.net/fa-close-modal-white.png" alt="Close Product Search"></span></span> 936 <div class="psearch-body"> 937 <span class="psearch-wrap"> 938 <a href="#" class="psearch-icon"><i class="cl-icon cl_icon_magnifier"></i></a> 939 <input class="psearch-input" type="text" name="" placeholder="${$.lang[LANG]['psearch.input.placeholder']}"> 940 </span> 941 </div> 942 </div> 943 </li> 944 `; 945 946 if(pc_nav.find('.siteSEARCH').length > 0) { 947 if(checkFixTypeMenu){ 948 pc_nav.find('.siteSEARCH').find('a').addClass('psearch-btn'); 949 pc_nav.find('.siteSEARCH').append(content); 950 } else pc_nav.find('.siteSEARCH').replaceWith(content); 951 } else pc_nav.prepend(content); 952 953 if(mobile_nav.find('.siteSEARCH').length>0) { 954 if(checkFixTypeMenu) { 955 var regExp = new RegExp(/cl\-fixbtn|cl\-visible/, "gi"), 956 addClass = (mobile_nav.find('.siteSEARCH').attr('class').match(regExp)!==null) ? mobile_nav.find('.siteSEARCH').attr('class').match(regExp).join(" ") : '', 957 $site_search = mobile_nav.find('.siteSEARCH'); 958 959 mobile_nav.find('.siteSEARCH').find('a').addClass('psearch-btn'); 960 mobile_nav.find('.siteSEARCH').replaceWith(mobile_content); 961 mobile_nav.find('.siteSEARCH').addClass(addClass); 962 963 if(pc_nav.find('.siteSEARCH').css('display')=='none') mobile_nav.find('.siteSEARCH').hide(); 964 } else mobile_nav.find('.siteSEARCH').replaceWith(mobile_content); 965 } else mobile_nav.prepend(mobile_content); 966 967 // #fixed-menu-sub psearch not working 968 // pc_nav.each(function() { 969 // if($(this).attr('id') == 'fixed-menu-sub') { 970 // $(this).find('.psearch-overlay').remove(); 971 // } 972 // }); 973 }, 974 groupByTab: function(list) { 975 var groups = { 976 all: [], 977 shopping: [], 978 forum: [], 979 gallery: [], 980 etc: [] 981 }; 982 983 for (var i = 0; i < list.length; i++) { 984 var o = list[i]; 985 var tab = o.tab || 'etc'; 986 987 groups.all.push(o); 988 989 if (!groups[tab]) tab = 'etc'; 990 groups[tab].push(o); 991 } 992 993 return groups; 994 }, 995 initTabs: function($wrap){ 996 var groups = $wrap.data('psearchGroups') || {}; 997 var $tabs = $wrap.find('.psearch-tabs'); 998 if($tabs.length==0) return; 999 1000 var active = $tabs.attr('data-active') || 'all'; 1001 1002 // ì´ê¸° íì±í 1003 $wrap.find('.psearch-tab-nav .tab-item').removeClass('active'); 1004 $wrap.find('.psearch-tab-nav .tab-item[data-tab="'+active+'"]').addClass('active'); 1005 1006 $wrap.find('.psearch-panel').hide(); 1007 $wrap.find('.psearch-panel[data-tab="'+active+'"]').show(); 1008 1009 // í´ë¦ ì´ë²¤í¸ 1010 $wrap.find('.psearch-tab-nav .tab-item').live('click', function(e){ 1011 e.preventDefault(); 1012 var tab = $(this).attr('data-tab'); 1013 1014 var tabPages = $wrap.data('psearchTabPages') || {}; 1015 tabPages[tab] = 1; 1016 $wrap.data('psearchTabPages', tabPages); 1017 1018 $tabs.attr('data-active', tab); 1019 if($wrap.find('#psearch-tab').length) $wrap.find('#psearch-tab').val(tab); 1020 1021 $wrap.find('.psearch-tab-nav .tab-item').removeClass('active'); 1022 $(this).addClass('active'); 1023 1024 $wrap.find('.psearch-panel').hide(); 1025 $wrap.find('.psearch-panel[data-tab="'+tab+'"]').show(); 1026 1027 var cnt = groups[tab] ? groups[tab].length : 0, 1028 cnt_lang = (LANG == 'ko') ? 'ê°' : ''; 1029 $wrap.find('.psearch-total-count').html('<strong>'+cnt + cnt_lang +'</strong><span class="count-txt">' + $.lang[LANG]['fheader.psearch.result'] + '</span>'); 1030 }); 1031 }, 1032 view: function() { 1033 // console.log('psearch view'); 1034 // var deferred = $.Deferred(); 1035 1036 var check_p = (property.PAGE == 'psearch') ? true : false;
1037 if(check_p) { 1038 var p_stx = property.PARENT?.psearch_stx ?? ''; 1039 var p_total = property.PARENT?.psearch_total ?? 0; 1040 var p_list = property.PARENT['psearch_list']; 1041 var p_page_num = property.PARENT['psearch_num']; 1042 var p_view = property.PARENT['psearch_view']; 1043 var p_selector = (property.LUX) ? 'psearch-block' : 'psearch-view'; 1044 1045 let psearch_view = ''; 1046 if(property.LUX) { 1047 //lux search view 1048 psearch_view = property.PARENT['psearch_eltag']; 1049 if($('style#psearchblockcss').length == 0) { 1050 $('body').append('<link rel="stylesheet" type="text/css" id="psearchblockcss" href="/css/block/psearch_block.css">'); 1051 } 1052 if($('script#psearchblockjs').length == 0) { 1053 var psearchJS = document.createElement('script'); 1054 psearchJS.setAttribute('src', '/js/block/psearch_block.js'); 1055 psearchJS.setAttribute('id', 'psearchblockjs'); 1056 document.body.appendChild(psearchJS); 1057 1058 psearchJS.onload = function() { 1059 $('body').append('<input type="hidden" id="psearchblockjs" data-src="/js/block/psearch_block.js">'); 1060 $(`.${p_selector}`).fadeIn().removeAttr('style'); 1061 1062 if($('.psearch-block .pfilter-fbox .fcol-c-ul:not([data-key="psearch"]) > li.active').length > 0) { 1063 if($('.psearch-block .pfilter-fbox .fcol-c-ul[data-key="brand"] > li.active').length > 0) { 1064 $('.psearch-block .pfilter-fbox .fcol-c-ul[data-key="brand"]').closest('.frow').addClass('open'); 1065 } 1066 var cancel_svg = clSVG('close',10,10,true,'pick-cancel-btn'); 1067 $('.psearch-block .pfilter-fbox .fcol-c-ul:not([data-key="psearch"]) > li.active').each(function() { 1068 var isOnly = $(this).closest('ul').is('[data-only="true"]'); 1069 var pfilter_key = $(this).closest('ul').attr('data-key'); 1070 var pfilter_name = $(this).text().trim(); 1071 var pfilter_val = $(this).attr('data-val'); 1072 var pfilter_input = (isOnly) ? pfilter_key : pfilter_key+'[]'; 1073 if(isOnly) $('#psearchForm .psearch-pick.'+pfilter_key+'').remove(); 1074 $('#psearchForm').append('<input type="hidden" class="psearch-pick '+pfilter_key+'" name="'+pfilter_input+'" value="'+pfilter_val+'" />'); 1075 $('.psearch-block .pfilter-fbox .frow.last .fcol-c-ul[data-key="psearch"]').append('<li data-key="'+pfilter_key+'" data-val="'+pfilter_val+'"><div class="fcol-c-label"><span class="fcol-c-name">'+pfilter_name+'</span>'+cancel_svg+'</div></li>'); 1076 }); 1077 $('.psearch-block .pfilter-fbox .frow.last').removeClass('hide'); 1078 } else { 1079 $('.psearch-block .pfilter-fbox .frow.last').addClass('hide'); 1080 } 1081 } 1082 } 1083 1084 } else { 1085 //shopping search view 1086 var wrap = ($('header.navbar .container').hasClass('full-width')) ? 'full-width' : ''; 1087 psearch_view = '\ 1088 <div class="psearch-view" data-sid="'+property.SID+'" style="height:' + ($(document).height() * 0.2) + 'px; display: none;">\ 1089 <input type="hidden" id="psearch-stx" value="' + p_stx + '" />\ 1090 <input type="hidden" id="psearch-total" value="' + p_total + '" />\ 1091 <input type="hidden" id="psearch-tab" value="all" />\ 1092 <div class="container ' + wrap + '">\ 1093 <div class="psearch-body">\ 1094 <div class="row">\ 1095 <div class="col-sm-offset-2 col-md-offset-4 col-xs-12 col-sm-8 col-md-4">\ 1096 <span class="psearch-wrap">\ 1097 <input class="psearch-input" type="text" name="" placeholder="' + $.lang[LANG]['fheader.psearch'] + '" value="' + p_stx + '">\ 1098 <a href="#" class="psearch-icon"><i class="cl-icon cl_icon_magnifier"></i></a>\ 1099 </span>\ 1100 </div>\ 1101 </div>\ 1102 '; 1103 1104 // í ë¶ë¥ 1105 var groups = $.psearch.groupByTab(p_list); 1106 1107 var PAGE_SIZE = 8; 1108 var PAGE_VIEW = 5; 1109 var $pEL = $('.'+p_selector); 1110 $pEL.data('psearchPageSize', PAGE_SIZE); 1111 $pEL.data('psearchPageView', PAGE_VIEW); 1112 1113 // íë³ 1114 $pEL.data('psearchTabPages', { all:1, shopping:1, forum:1, gallery:1, etc:1 }); 1115 1116 // all ì¹ì ë³ 1117 $pEL.data('psearchAllSectionPages', { shopping:1, gallery:1, forum:1, etc:1 }); 1118 1119 var tabCount = { 1120 all: groups.all.length, 1121 shopping: groups.shopping.length, 1122 forum: groups.forum.length, 1123 gallery: groups.gallery.length, 1124 etc: groups.etc.length 1125 }; 1126 1127 // 기본 íì± í(ì¼í>ê²ìí>ê°¤ë¬ë¦¬>기í) 1128 var activeTab = 'all'; 1129 // ì ì²´ ê²ìê²°ê³¼ ì 1130 var totalCnt = tabCount.shopping + tabCount.forum + tabCount.gallery + tabCount.etc; 1131 if (totalCnt === 0) { //ê²ìê²°ê³¼ 0 1132 activeTab = 'all'; 1133 } else { 1134 if (tabCount.shopping > 0 && totalCnt === tabCount.shopping) { 1135 activeTab = 'shopping'; 1136 } else if (tabCount.forum > 0 && totalCnt === tabCount.forum) { 1137 activeTab = 'forum'; 1138 } else if (tabCount.gallery > 0 && totalCnt === tabCount.gallery) { 1139 activeTab = 'gallery'; 1140 } else if (tabCount.etc > 0 && totalCnt === tabCount.etc) { 1141 activeTab = 'etc'; 1142 } else { 1143 activeTab = 'all'; 1144 } 1145 } 1146 1147 var p_sort = (typeof property.PARENT['psearch_sort'] != 'undefined' && property.PARENT['psearch_sort']) ? property.PARENT['psearch_sort'] : '
1147new', 1148 cnt_lang = (LANG == 'ko') ? 'ê°' : ''; 1149 // í ë¤ë¹ 1150 psearch_view += '\ 1151 <div class="psearch-tabs" data-active="'+activeTab+'">\ 1152 <ul class="psearch-tab-nav">\ 1153 <li class="tab-item" data-tab="all">' + $.lang[LANG]['fheader.psearch.all'] + ' <span class="cnt">('+tabCount.all+')</span></li>\ 1154 <li class="tab-item" data-tab="shopping">' + $.lang[LANG]['fheader.psearch.shopping'] + ' <span class="cnt">('+tabCount.shopping+')</span></li>\ 1155 <li class="tab-item" data-tab="gallery">' + $.lang[LANG]['fheader.psearch.gallery'] + ' <span class="cnt">('+tabCount.gallery+')</span></li>\ 1156 <li class="tab-item" data-tab="forum">' + $.lang[LANG]['fheader.psearch.forum'] + ' <span class="cnt">('+tabCount.forum+')</span></li>\ 1157 <li class="tab-item" data-tab="etc">' + $.lang[LANG]['fheader.psearch.etc'] + ' <span class="cnt">('+tabCount.etc+')</span></li>\ 1158 </ul>\ 1159 </div>\ 1160 <div class="psearch-sort-wrap">\ 1161 <div class="psearch-total-count"><strong>'+ p_total + cnt_lang +'</strong><span class="count-txt">' + $.lang[LANG]['fheader.psearch.result'] + '</span></div>\ 1162 <div class="gallery-sort-nav goption-row psearch-sort" data-sort-lang="' + LANG + '">\ 1163 <div class="toggle-dropdown display-flex space-between align-items-center">\ 1164 <span class="active-sort">'+(p_sort=='old' ? $.lang[LANG]['fheader.psearch.dropdown.old'] : $.lang[LANG]['fheader.psearch.dropdown.recent'])+'</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m8 11.35-6-6 .71-.7L8 9.94l5.29-5.29.71.7z"/></svg>\ 1165 </div>\ 1166 <ul>\ 1167 <li class="'+(p_sort=='new' ? 'active' : '')+'"><a href="javascript:;" data-sort="new">' + $.lang[LANG]['fheader.psearch.dropdown.recent'] + '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 10" width="13" height="10"><path d="m5 9.71-5-5 1.41-1.42L5 6.88 11.59.29 13 1.71z"/></svg></a></li>\ 1168 <li class="'+(p_sort=='old' ? 'active' : '')+'"><a href="javascript:;" data-sort="old">' + $.lang[LANG]['fheader.psearch.dropdown.old'] + '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 10" width="13" height="10"><path d="m5 9.71-5-5 1.41-1.42L5 6.88 11.59.29 13 1.71z"/></svg></a></li>\ 1169 </ul>\ 1170 </div>\ 1171 </div>\ 1172 '; 1173 1174 // í í¨ë ë ë 1175 psearch_view += '<div class="psearch-tab-panels">'; 1176 1177 psearch_view += (function(){ 1178 var h = '<div class="psearch-panel" data-tab="all" style="display:none;">'; 1179 var parts = []; 1180 var s1 = $.psearch.renderAllSection($pEL, 'shopping', groups.shopping); 1181 if(s1) parts.push(s1); 1182 var s2 = $.psearch.renderAllSection($pEL, 'gallery', groups.gallery); 1183 if(s2) parts.push(s2); 1184 var s3 = $.psearch.renderAllSection($pEL, 'forum', groups.forum); 1185 if(s3) parts.push(s3); 1186 var s4 = $.psearch.renderAllSection($pEL, 'etc', groups.etc); 1187 if(s4) parts.push(s4); 1188 1189 if(parts.length === 0){ 1190 h += '<div class="row text-center pitem-empty">' 1191 + $.lang[LANG]["fheader.psearch.pitem-empty"] 1192 + '</div>'; 1193 } else { 1194 h += parts.join(''); 1195 } 1196 1197 h += '</div>'; 1198 return h; 1199 })(); 1200 psearch_view += $.psearch.renderTabPanel($pEL, 'shopping', groups.shopping); 1201 psearch_view += $.psearch.renderTabPanel($pEL, 'forum', groups.forum); 1202 psearch_view += $.psearch.renderTabPanel($pEL, 'gallery', groups.gallery); 1203 psearch_view += $.psearch.renderTabPanel($pEL, 'etc', groups.etc); 1204 psearch_view += '</div>'; 1205 psearch_view += '</div></div></div></div>'; 1206 1207 $('.psearchcss').remove(); 1208 var p_color = $('.dsgn-body').css('color'); 1209 var p_line_color = $('.dsgn-body').css('color'); 1210 var p_size = $('.dsgn-body').css('font-size'); 1211 var p_css = ` 1212 .dsgn-body > .psearch-view[data-sid="${property.SID}"] .psearch-wrap { border-bottom-color: ${p_line_color}; } 1213 .dsgn-body > .psearch-view[data-sid="${property.SID}"] .psearch-input { color: ${p_color}; } 1214 .dsgn-body > .psearch-view[data-sid="${property.SID}"] .psearch-pagination > li > a { color: ${p_color}; } 1215 `; 1216 $('#dsgn-body').after(`<style class="psearchcss"${p_css}</style>`); 1217 } 1218 1219 if($.clnav.check()) {
1220 $('.dsgn-body').prepend(psearch_view); 1221 } else { 1222 $('.header.el-menu').after(psearch_view); 1223 } 1224 1225 var $pEL = $('.'+p_selector); 1226 $pEL.data('psearchGroups', groups); 1227 1228 changeBrokenImages($pEL); 1229 1230 $.psearch.initTabs($('.'+p_selector)); 1231 $.psearch.bindClientPagination($pEL); 1232 $pEL.find('.psearch-sort').val(p_sort); 1233 1234 var p_tab = (property.PARENT && property.PARENT['psearch_tab']) ? property.PARENT['psearch_tab'] : ($pEL.find('.psearch-tabs').attr('data-active') || 'shopping'); 1235 // console.log(p_tab); 1236 setTimeout(function(){ 1237 $pEL.find('.psearch-tab-nav .tab-item[data-tab="'+p_tab+'"]').trigger('click'); 1238 }, 0); 1239 1240 // ì ë ¬ ëë¡ë¤ì´ í ê¸ (ì´ê³ /ë«ê¸°) 1241 $pEL.off('click', '.psearch-sort .toggle-dropdown'); 1242 $pEL.on('click', '.psearch-sort .toggle-dropdown', function(e){ 1243 e.preventDefault(); 1244 e.stopPropagation(); 1245 $(this).closest('.psearch-sort').toggleClass('open'); 1246 }); 1247 // ë°ê¹¥ í´ë¦ ì ë«ê¸° 1248 $(document).off('click.psearchSortClose').on('click.psearchSortClose', function(e){ 1249 if($(e.target).closest('.psearch-sort').length === 0){ 1250 $pEL.find('.psearch-sort').removeClass('open'); 1251 } 1252 }); 1253 1254 // ì ë ¬ ì í 1255 $pEL.off('click', '.psearch-sort ul a[data-sort]'); 1256 $pEL.on('click', '.psearch-sort ul a[data-sort]', function(e){ 1257 e.preventDefault(); 1258 1259 var sort = $(this).attr('data-sort') || 'new'; // í´ë¦í ê° 1260 var currentSort = property.PARENT['psearch_sort'] || 'new'; // íì¬ ê° 1261 1262 if(sort === currentSort){ 1263 $pEL.find('.psearch-sort').removeClass('open'); 1264 return; 1265 } 1266 1267 var psearch_stx = $('#psearch-stx').val() || ''; 1268 var tab = $('#psearch-tab').val() || 'all'; 1269 1270 // UI í ì¤í¸ ë°ì 1271 $pEL.find('.psearch-sort .active-sort').text($(this).text().trim()); 1272 $pEL.find('.psearch-sort').removeClass('open'); 1273 1274 var url = (PAGE_MODE=='s') ? '' : '/render'; 1275 location.href = url + '/psearch/num/1/stx/' + encodeURIComponent(psearch_stx) + '/sort/' + sort + '/tab/' + tab; 1276 }); 1277 1278 if(p_selector == 'psearch-view') $pEL.fadeIn().removeAttr('style'); 1279 1280 // $pagination = $pEL.find('.psearch-pagination'); 1281 // $.psearch.setPagination($pagination,p_stx,p_total,p_page_num,p_view); 1282 1283 // if(p_total <= p_view) $pagination.addClass('hidden'); 1284 // else $pagination.removeClass('hidden'); 1285 1286 if(p_selector == 'psearch-view') { 1287 if(PAGE_MODE != 'c') $.psearch.showSiteProjectSEARCH(true); 1288 if(PAGE_MODE == 's' && typeof callbackEvtProductSearch == 'function') callbackEvtProductSearch(p_stx); 1289 } 1290 1291 $pEL.off('click', '.psearch-client-nav a'); 1292 $pEL.on('click', '.psearch-client-nav a', function(e){ 1293 e.preventDefault(); 1294 1295 // disabledë©´ 무ì 1296 if ($(this).parent().hasClass('disabled')) return; 1297 1298 var sectionKey = $(this).closest('.psearch-client-nav').attr('data-skey'); 1299 var page = parseInt($(this).attr('data-page'), 10) || 1; 1300 1301 // ìí ì ì¥ 1302 var secPages = $pEL.data('psearchAllSectionPages') || {}; 1303 secPages[sectionKey] = page; 1304 $pEL.data('psearchAllSectionPages', secPages); 1305 1306 // í´ë¹ ì¹ì ë§ ì¬ë ë 1307 var groups = $pEL.data('psearchGroups') || {}; 1308 var list = groups[sectionKey] || []; 1309 1310 var html = renderSection(sectionKey, list); 1311 $pEL.find('.psearch-all-section[data-section="'+sectionKey+'"]').replaceWith(html); 1312 }); 1313 1314 $pEL.off('click', '.psearch-tab-navpage a'); 1315 $pEL.on('click', '.psearch-tab-navpage a', function(e){ 1316 e.preventDefault(); 1317 if($(this).closest('li').hasClass('disabled')) return; 1318 1319 var tabKey = $(this).closest('.psearch-tab-navpage').attr('data-tkey'); // shopping|forum|gallery|etc 1320 var page = parseInt($(this).attr('data-page'), 10) || 1; 1321 1322 // ìí ì ì¥ 1323 var tabPages = $pEL.data('psearchTabPages') || {}; 1324 tabPages[tabKey] = page; 1325 $pEL.data('psearchTabPages', tabPages); 1326 1327 // ì ì²´ í¨ë ì¬ë ë (ë¡ì»¬ renderPanel ì ê±°) 1328 $.psearch.rerenderPanels($pEL); 1329 1330 // íì± í ì ì§ 1331 var active = $pEL.find('.psearch-tabs').attr('data-active') || 'all'; 1332 $pEL.find('.psearch-panel').hide(); 1333 $pEL.find('.psearch-panel[data-tab="'+active+'"]').show(); 1334 }); 1335 1336 } 1337 1338 // deferred.resolve(); 1339 // return deferred.promise(); 1340 }, 1341 pItemEmpty: function() { 1342 // console.log('psearch pItemEmpty'); 1343 return ` 1344 <div class="pitem sample-item"> 1345 <div class="col-xs-3 col-sm-3 col-md-3 no-padding"> 1346 <div class="center-block"><img src="//storage.googleapis.com/i.addblock.net/blitem_empty_img.png" alt="" class="img-responsive"/></div> 1347 </div>
1348 </div> 1349 `; 1350 }, 1351 pItem: function(o) { 1352 // console.log('psearch pItem',o); 1353 var img_path = (typeof o.settings.storage != 'undefined' && o.settings.storage) ? o.settings.storage : property.RPATH; 1354 var img_original = (typeof o.settings.storage != 'undefined' && o.settings.storage) ? img_path + '1920/' : img_path; 1355 var img_src = getServeImage(o.image,600,img_path); 1356 var src_s0 = getServeImage(o.image,'0',img_path); 1357 1358 var glink = (typeof o.settings.glink != 'undefined' && o.settings.glink) ? o.settings.glink : ''; 1359 var glink_target = (typeof o.settings.glink_target != 'undefined' && o.settings.glink_target) ? o.settings.glink_target : ''; 1360 1361 if(glink) { 1362 if(glink.match(/^\@/g) !== null) { // link-type: link-bookmark ==> a[attr-bookmark] 1363 var bookmark_seq = glink.replace(/^\@/g,''); 1364 if(typeof property.SETTINGS.blockBookmarkList == 'undefined' || typeof property.SETTINGS.blockBookmarkList['bookmark' + bookmark_seq] == 'undefined') { 1365 glink = ''; 1366 glink_target = ''; 1367 } 1368 } else if(glink.match(/^flink\@[0-9]/gi) !== null) { // link-type: link-file ==> a[attr-flink] 1369 glink_target = ''; 1370 } else if($.inArray(glink.replace(/^\//g,'').replace(/ /g,'-'),property.MENULIST) > -1) { // link-type: link-menu ==> a[data-user-link] 1371 } else { // link-type: link-out ==> a[attr-link] 1372 if(checkBase64Encode(glink)) glink = Base64.decode(glink); 1373 } 1374 } 1375 1376 var pitem_src = ''; 1377 var pitem_option = ''; 1378 1379 if(glink) { 1380 pitem_src = makeLinkUrl(glink, property.ONE, property.VIEW); 1381 1382 if(glink.match(/^\@/g) !== null) { 1383 pitem_option = 'attr-bookmark="' + glink.replace(/^\@/g,'') + '"'; 1384 } else if(glink.match(/^flink\@[0-9]/g) !== null) { 1385 pitem_option = 'attr-flink="' + glink.replace(/^flink\@/g,'') + '"'; 1386 } else if(property.MENULIST.includes(glink.replace(/ /g,'-'))) { 1387 pitem_option = 'data-user-link="' + pitem_src + '"'; 1388 } else { 1389 var checkURL = /(http(s)?:\/\/)?\S+(\.[^(\n|\t|\s|\/))]+)+/gi; 1390 if(checkURL.test(glink)) pitem_option = 'attr-link="' + glink + '"'; 1391 else pitem_src = 'javascript:;'; 1392 } 1393 } else { 1394 // etc(page) í´ë¹ íì´ì§ë¡ ì´ë 1395 if (o.type === 'page') { 1396 var map = property.MENU_BREADCRUMB_MAP || {}; 1397 1398 // 1) page slug 구í기: "ì¤í 리-ìë¸11122,580901" ê°ì ê²½ì° ëë¹ 1399 var pageRaw = (o.page || '').toString(); 1400 var slug = pageRaw.indexOf(',') > -1 ? $.trim(pageRaw.split(',')[0]) : pageRaw; 1401 1402 // 2) ìì¸ URLì´ ìë ìë ë©ë´ í¤ë "/slug" ë¡ ë§ì¶°ì lookup 1403 var key = $.psearch.normalizeHref('/' + slug); 1404 var crumb = map[key]; 1405 1406 if (crumb) { 1407 o.cont = crumb; // "í > ë¸ëë ì¤í 리 > ì¤í 리 ìë¸11122" 1408 } else { 1409 // fallback 1410 o.cont = $.lang[LANG]['editor.resource.icon.home'] + ' > ' + slug.replace(/-/g,' '); 1411 } 1412 1413 // /url/view/id ë¡ ì´ë 1414 if (pageRaw.indexOf(',') > -1) { 1415 1416 var parts = pageRaw.split(','); 1417 var urlPage = $.trim(parts[0] || ''); 1418 var viewId = $.trim(parts[1] || ''); 1419 1420 if (urlPage && viewId) { 1421 // /{urlPage}/view/{viewId} 1422 pitem_src = ((property.URL=='/') ? '' : property.URL) + '/' + urlPage + '/view/' + viewId; 1423 pitem_option = ''; // view ë§í¬ë data-user-link íììì 1424 } else { 1425 pitem_src = 'javascript:;'; 1426 } 1427 1428 } else { 1429 if (property.MENULIST.indexOf(o.page) > -1 || property.ONE) { 1430 pitem_src = makeLinkUrl(o.page, property.ONE, property.VIEW); 1431 pitem_option = 'data-user-link="' + o.page + '" data-psearch-pid="' + o.pid + '"'; 1432 } else { 1433 pitem_src = 'javascript:;'; 1434 } 1435 } 1436 1437 // forumì /forum/view/{id} ë¡ ì´ë 1438 } else if (o.type === 'forum') { 1439 1440 var base = (PAGE_MODE == 'r') ? '/render' : ''; 1441 pitem_src = base + '/forum/view/' + o.id; 1442 pitem_option = ''; // forumì data-user-link íì ìì 1443 1444 // ì¼í(ìí) view íì´ì§ ì ì§ 1445 } else if (o.type === 'gallery' && o.p_mode === 'shopping') { 1446 1447 pitem_src = ((property.URL == '/') ? '' : property.URL) + '/' + o.page + '/view/' + o.id; 1448 1449 // ê°¤ë¬ë¦¬(ìì¸íì´ì§) view íì´ì§ ì´ë 1450 } else if (o.type === 'gallery' && o.p_mode === 'project') { 1451 1452 pitem_src = ((property.URL == '/') ? '' : property.URL) + '/' + o.page + '/view/' + o.id; 1453 1454 // ì¼ë° ê°¤ë¬ë¦¬/기í â í´ë¹ íì´ì§ë¡ ì´ë (ë¸ë ìì¹ë¡) 1455 } else { 1456 1457 if (property.MENULIST.indexOf(o.page) > -1 || property.ONE) { 1458 pitem_src = makeLinkUrl(o.page, property.ONE, property.VIEW); 1459 pitem_option = 'data-user-link="' + o.page + '" data-psearch-pid="' + o.pid + '"'; 1460 } else { 1461 pitem_src = 'javascript:;'; 1462 } 1463 1464 } 1465 } 1466 1467 // } else { 1468 // if (o.p_mode == 'gallery') { 1469 // if(property.MENULIST.indexOf(o.page) > -1 || property.ONE) { 1470 // var pitem_cookie = (o.p_cookie == 'gallery') ? 'data-psearch-pid="' + o.pid + '"' : 'data-
1470psearch-seq="' + o.id + '"'; 1471 // pitem_option = 'data-user-link="' + o.page + '" '+pitem_cookie; 1472 // pitem_src = makeLinkUrl(o.page, property.ONE, property.VIEW); 1473 // } else { 1474 // pitem_src = 'javascript:;'; 1475 // } 1476 // } else { 1477 // pitem_src = ((property.URL=='/') ? '' : property.URL) + '/' + o.page + '/view/' + o.id; 1478 // } 1479 // } 1480 var isGallery = (o.type === 'gallery') ? '<img src="' + o.thumb + '" alt="" class="img-responsive" />' : ''; 1481 // console.log(o); 1482 var str = '\ 1483 <div class="col-xs-6 col-sm-4 col-md-3 no-padding pitem" data-index="' + o.num + '" data-pid="' + o.pid + '" data-gid="' + o.id + '">\ 1484 <a href="'+pitem_src+'" '+ pitem_option + '>\ 1485 '+ isGallery +'\ 1486 <div class="info-wrap">\ 1487 <h5 class="'+ ($.inArray('title', o.field_disable) > -1 ? 'hide' : '') +'">' + o.title + '</h5>\ 1488 '; 1489 if(o.p_mode == 'shopping' || o.p_mode == 'gallery') str += '<p class="'+ ($.inArray('caption', o.field_disable) > -1 ? 'hide' : '') +'">' + o.cont + '</p>'; 1490 else str += '<p class="'+ ($.inArray('cont', o.field_disable) > -1 ? 'hide' : '') +'">' + o.cont + '</p>'; 1491 1492 if(o.p_mode == 'shopping') { 1493 if(o.price) { 1494 str += '\ 1495 <p class="price-box '+ ($.inArray('price', o.field_disable) > -1 ? 'hide' : '') +'"><span class="figure-krw">₩</span> ' + o.price + '</p>\ 1496 <span></span>\ 1497 '; 1498 } 1499 1500 if(o.review_onoff && o.review_cnt > 0) { 1501 str += '\ 1502 <ul class="review-box">\ 1503 <li class="review-cnt">리뷰 <span class="sh-pcolor">' + o.review_cnt + '</span></li>\ 1504 <li class="review-score">íì <span class="sh-pcolor">' + o.review_score + '</span></li>\ 1505 </ul>\ 1506 '; 1507 } 1508 1509 // let str = ` 1510 // <div class="col-xs-6 col-sm-4 col-md-3 no-padding pitem" data-index="${o.num}" data-pid="${o.pid}" data-gid="${o.id}"> 1511 // <a href="${pitem_src}" ${pitem_option}> 1512 // <img src="${o.thumb}" alt="" class="img-responsive" /> 1513 // <div class="info-wrap"> 1514 // <h5>${htmlDecode(o.title)}</h5> 1515 // <p>${htmlDecode(o.cont)}</p> 1516 // `; 1517 1518 var basket_class = (o.basket_off || $.inArray('basket', o.field_disable) > -1) ? 'hide' : ''; 1519 str += '\ 1520 <div class="basket-box ' + basket_class + '"><span class="basket-btn">ì¥ë°êµ¬ë ë´ê¸°</span></div>\ 1521 '; 1522 } 1523 1524 if(o.type == 'forum') { 1525 // var cate = o.cate; 1526 // if(cate == '') cate = 'ì¹´í ê³ ë¦¬ ìì' 1527 str += '\ 1528 <p>\ 1529 <span class="'+ ($.inArray('name', o.field_disable) > -1 ? 'hide' : '') +'">'+ o.name +' |</span>\ 1530 <span class="'+ ($.inArray('date', o.field_disable) > -1 ? 'hide' : '') +'">'+ o.date +' |</span>\ 1531 <span class="'+ ($.inArray('hit', o.field_disable) > -1 ? 'hide' : '') +'"><svg viewBox="0 0 16 16" width="16" height="16"><path d="M10.4 6.9c.4 1.3-.4 2.7-1.8 3.1-1.3.4-2.7-.4-3.1-1.8v-.5c0-.2.2-.2.3-.2h.5c.9 0 1.7-.7 1.7-1.7v-.5c0-.1 0-.3.2-.3 1.1 0 2 .8 2.3 1.9ZM8 4.3c-2.7 0-4.1 1.8-4.9 3.4v.6C4 9.9 5.3 11.7 8 11.7s4.1-1.8 4.9-3.4v-.6C12 6.1 10.7 4.3 8 4.3m0-1c3.3 0 4.9 2.3 5.8 4 .3.5.3 1 0 1.5-.9 1.6-2.5 4-5.8 4s-4.9-2.3-5.8-4c-.3-.5-.3-1 0-1.5.9-1.6 2.5-4 5.8-4Z"></path></svg>'+ o.hit +' |</span>\ 1532 <span class="'+ ($.inArray('comment', o.field_disable) > -1 ? 'hide' : '') +'"><svg viewBox="0 0 16 16" width="16" height="16"><path d="M9.6 3h-3C4.3 3 2.2 4.7 2 7c-.1 1.6.6 3 1.8 3.8 0 .5-.2 1-.5 1.6-.1.3.1.6.4.6h.2c.7-.3 1.6-.7 2.4-1.3h3c2.3 0 4.3-1.6 4.6-3.9.2-2.6-1.8-4.7-4.4-4.7Zm-.2 7.6H6.1l-.3.2c-.3.3-.7.5-1 .6v-1.1l-.4-.4c-1-.7-1.5-1.8-1.4-3 .1-1.7 1.7-3.1 3.6-3.1h3c1 0 1.9.4 2.5 1.1.6.7.9 1.6.8 2.5-.2 1.7-1.7 3-3.6 3Z"></path></svg>'+ o.comment +'</span>\ 1533 </p>\ 1534 '; 1535 } 1536 str += '\ 1537 </div>'; 1538 if(o.type == 'forum') { 1539 var thumb = (o.thumb) ? o.thumb : '//storage.googleapis.com/i.addblock.net/icon/noimage_250_black.png', 1540 empty = (o.thumb == '') ? 'empty' : ''; 1541 str += '\ 1542 <div class="image-wrap '+ empty +'"><image src='+ thumb +'></div>\ 1543 '; 1544 } 1545 str += '\ 1546 </a>\ 1547 </div>\ 1548 '; 1549 // console.log(str); 1550 return str; 1551 }, 1552 // setPagination: function($obj,stx,total,page_num,view) { 1553 // // console.log('psearch setPagination'); 1554 // var checkLux = (PAGE_MODE == 'c') ? LUX : property.LUX; 1555 // if(checkLux) stx += location.search; 1556 1557 // var p_url = (PAGE_MODE == 'r') ? '/render' : '', 1558 // page_view = 5,
1559 // total_page = Math.ceil(total/view), 1560 // start_page = (page_num%page_view) ? page_num - (page_num%page_view) + 1 : page_num - (page_view-1), 1561 // end_page = start_page + (page_view-1); 1562 // if(end_page > total_page) end_page = total_page; 1563 1564 // var prev_page = ((start_page-1) == 0) ? 1 : start_page-1, 1565 // next_page = ((end_page+1) > total_page) ? end_page : end_page+1; 1566 1567 // $obj.find('li').addClass('psearch-page'); 1568 1569 // var $first = $obj.children().first().clone(), 1570 // $prev = $obj.children().first().clone(), 1571 // $next = $obj.children().last().clone(), 1572 // $last = $obj.children().last().clone(); 1573 1574 // $obj.empty(); 1575 // $first.find('a').attr('href',p_url+'/psearch/num/1/stx/'+stx).find('i').removeClass('fa-angle-left').addClass('fa-angle-double-left'); 1576 // $prev.find('a').attr('href',p_url+'/psearch/num/'+prev_page+'/stx/'+stx); 1577 // $next.find('a').attr('href',p_url+'/psearch/num/'+next_page+'/stx/'+stx); 1578 // $last.find('a').attr('href',p_url+'/psearch/num/'+total_page+'/stx/'+stx).find('i').removeClass('fa-angle-right').addClass('fa-angle-double-right'); 1579 1580 // $obj.append($prev).append($next); 1581 // for(i=start_page; i<=end_page; i++) { 1582 // var active = (i == page_num) ? 'active' : ''; 1583 // $obj.children().last().before($('<li class="psearch-page '+ active +'"><a href="'+p_url+'/psearch/num/'+i+'/stx/'+stx+'">' + i + '</a></li>')); 1584 // } 1585 1586 // if(start_page == prev_page) $obj.children().eq(0).hide(); 1587 // if(end_page == next_page) $obj.children().last().hide(); 1588 1589 // // if(start_page > page_view) $obj.prepend($first); 1590 // // if(end_page < total_page) $obj.append($last); 1591 1592 // }, 1593 bindClientPagination: function($wrap){ 1594 $wrap.find('.psearch-client-nav .psearch-page a').off('click').on('click', function(e){ 1595 e.preventDefault(); 1596 1597 var $nav = $(this).closest('.psearch-client-nav'); 1598 if($nav.find('li.disabled').length && $(this).parent().hasClass('disabled')) return; 1599 1600 var key = $nav.attr('data-key'); // ì: "shopping" ëë "all:shopping" 1601 var page = parseInt($(this).attr('data-page'), 10) || 1; 1602 1603 if (typeof key === 'string' && key.indexOf('all:') === 0) { 1604 var sectionKey = key.replace('all:', ''); 1605 var secPages = $wrap.data('psearchAllSectionPages') || {}; 1606 secPages[sectionKey] = page; 1607 $wrap.data('psearchAllSectionPages', secPages); 1608 } else if (typeof key === 'string') { 1609 var tabPages = $wrap.data('psearchTabPages') || {}; 1610 tabPages[key] = page; 1611 $wrap.data('psearchTabPages', tabPages); 1612 } else { 1613 // ëë²ê¹ ì© 1614 console.warn('psearch pagination key is undefined', this); 1615 } 1616 1617 // í¨ë ì¬ë ë 1618 $.psearch.rerenderPanels($wrap); 1619 $.psearch.initTabs($wrap);
1619 // íì± í ì ì§ 1620 }); 1621 }, 1622 renderAllSection: function($wrap, sectionKey, list){ 1623 var total = (list && list.length) ? list.length : 0; 1624 1625 // â ì ì²´íììë§ ì°ë ì¹ì ì´ë¯ë¡: ê²°ê³¼ ìì¼ë©´ ìì ì¶ë ¥íì§ ìì 1626 if(total === 0) return ''; 1627 1628 var pageSize = $wrap.data('psearchPageSize') || 8; 1629 var secPages = $wrap.data('psearchAllSectionPages') || {}; 1630 var cur = secPages[sectionKey] || 1; 1631 1632 var totalPage = Math.ceil(total / pageSize); 1633 var sliced = list.slice((cur-1)*pageSize, cur*pageSize); 1634 1635 var title_name = (sectionKey == 'shopping') ? $.lang[LANG]['fheader.psearch.shopping'] 1636 : (sectionKey == 'forum') ? $.lang[LANG]['fheader.psearch.forum'] 1637 : (sectionKey == 'gallery') ? $.lang[LANG]['fheader.psearch.gallery'] 1638 : $.lang[LANG]['fheader.psearch.etc']; 1639 1640 var html = '<div class="psearch-all-section" data-section="'+sectionKey+'">'; 1641 html += '<div class="psearch-section-title">'+title_name+'</div>'; 1642 1643 html += '<div class="row multi-columns-row" data-loop="true">'; 1644 for(var i=0;i<sliced.length;i++){ 1645 html += $.psearch.pItem(sliced[i]); 1646 } 1647 html += '</div>'; 1648 1649 // ì¹ì íì´ì§ë¤ì´ì (ìíë ì ì± ëë¡: 1íì´ì§ë 무조건 ë ¸ì¶ì´ë©´ totalPage<=0 ì²´í¬ë¡ ì¡°ì ) 1650 html += $.psearch.renderSectionPagination(sectionKey, cur, totalPage); 1651 1652 html += '</div>'; 1653 return html; 1654 }, 1655 renderTabPanel: function($wrap, tabKey, list){ 1656 var pageSize = $wrap.data('psearchPageSize') || 8; 1657 var tabPages = $wrap.data('psearchTabPages') || {}; 1658 var cur = tabPages[tabKey] || 1; 1659 1660 var total = (list && list.length) ? list.length : 0; 1661 var totalPage = Math.ceil(total / pageSize); 1662 var sliced = (total > 0) ? list.slice((cur-1)*pageSize, cur*pageSize) : []; 1663 1664 var html = '<div class="psearch-panel" data-tab="'+tabKey+'" style="display:none;">'; 1665 1666 if(total === 0){ 1667 html += '<div class="row text-center pitem-empty">' + $.lang[LANG]["fheader.psearch.pitem-empty"] + '</div>'; 1668 } else { 1669 html += '<div class="row multi-columns-row" data-loop="true">'; 1670 for(var i=0;i<sliced.length;i++){ 1671 html += $.psearch.pItem(sliced[i]); 1672 } 1673 html += '</div>'; 1674 1675 // í pagination 1676 html += $.psearch.renderTabPagination(tabKey, cur, totalPage); 1677 } 1678 1679 html += '</div>'; 1680 return html; 1681 }, 1682 rerenderPanels: function($wrap){ 1683 var groups = $wrap.data('psearchGroups') || {}; 1684 if(!groups) return; 1685 1686 // í¨ë ììë§ ë¤ì 그림 1687 var $panels = $wrap.find('.psearch-tab-panels'); 1688 if($panels.length==0) return; 1689 1690 var html = ''; 1691 1692 // all í¨ë 1693 html += (function(){
1694 function renderSection(sectionKey, list){ 1695 return $.psearch.renderAllSection($wrap, sectionKey, list); 1696 } 1697 var h = '<div class="psearch-panel" data-tab="all" style="display:none;">'; 1698 h += renderSection('shopping', groups.shopping); 1699 h += renderSection('gallery', groups.gallery); 1700 h += renderSection('forum', groups.forum); 1701 h += renderSection('etc', groups.etc); 1702 h += '</div>'; 1703 return h; 1704 })(); 1705 1706 // í í¨ëë¤ 1707 html += $.psearch.renderTabPanel($wrap, 'shopping', groups.shopping); 1708 html += $.psearch.renderTabPanel($wrap, 'forum', groups.forum); 1709 html += $.psearch.renderTabPanel($wrap, 'gallery', groups.gallery); 1710 html += $.psearch.renderTabPanel($wrap, 'etc', groups.etc); 1711 1712 $panels.html(html); 1713 1714 // í´ë¦ ë°ì¸ë© ë¤ì 1715 $.psearch.bindClientPagination($wrap); 1716 }, 1717 renderSectionPagination: function(sectionKey, current, totalPage){ 1718 if(totalPage <= 0) return ''; 1719 1720 var pageView = 5; 1721 var start = (Math.floor((current-1)/pageView)*pageView) + 1; 1722 var end = Math.min(start + pageView - 1, totalPage); 1723 var showArrows = totalPage > pageView; 1724 var prevBlock = Math.max(1, start-1); 1725 var nextBlock = Math.min(totalPage, end+1); 1726 1727 // all í ì¹ì ì© keyë "all:ì¹ì " 1728 var html = '<nav class="text-center clear psearch-client-nav" data-key="all:'+sectionKey+'">'; 1729 html += '<ul class="pagination pagination-sm psearch-pagination">'; 1730 1731 if(showArrows){ 1732 html += '<li class="psearch-page prev '+(start==1?'disabled':'')+'">' 1733 + '<a href="#" data-page="'+prevBlock+'"><i class="fa fa-angle-left"></i></a></li>'; 1734 } 1735 1736 for(var p=start; p<=end; p++){ 1737 html += '<li class="psearch-page '+(p==current?'active':'')+'">' 1738 + '<a href="#" data-page="'+p+'">'+p+'</a></li>'; 1739 } 1740 1741 if(showArrows){ 1742 html += '<li class="psearch-page next '+(end==totalPage?'disabled':'')+'">' 1743 + '<a href="#" data-page="'+nextBlock+'"><i class="fa fa-angle-right"></i></a></li>'; 1744 } 1745 1746 html += '</ul></nav>'; 1747 return html; 1748 }, 1749 renderTabPagination: function(tabKey, current, totalPage){ 1750 if(totalPage <= 0) return ''; 1751 1752 var pageView = 5; 1753 var start = (Math.floor((current-1)/pageView)*pageView) + 1; 1754 var end = Math.min(start + pageView - 1, totalPage); 1755 var showArrows = totalPage > pageView; // 6íì´ì§ ì´ìì¼ ëë§ prev/next 1756 var prevBlock = Math.max(1, start-1); 1757 var nextBlock = Math.min(totalPage, end+1); 1758 1759 var html = '<nav class="text-center clear psearch-tab-navpage" data-tkey="'+tabKey+'">'; 1760 html += '<ul class="pagination pagination-sm psearch-pagination">'; 1761 1762 if(showArrows){ 1763 html += '<li class="psearch-page prev '+(start==1?'disabled':'')+'">' 1764 + '<a href="#" data-page="'+prevBlock+'"><i class="fa fa-angle-left"></i></a></li>'; 1765 } 1766 for(var p=start; p<=end; p++){ 1767 html += '<li class="psearch-page '+(p==current?'active':'')+'">' 1768 + '<a href="#" data-page="'+p+'">'+p+'</a></li>'; 1769 } 1770 if(showArrows){ 1771 html += '<li class="psearch-page next '+(end==totalPage?'disabled':'')+'">' 1772 + '<a href="#" data-page="'+nextBlock+'"><i class="fa fa-angle-right"></i></a></li>'; 1773 } 1774 1775 html += '</ul></nav>'; 1776 return html; 1777 }, 1778 showSiteProjectSEARCH: function(view_page) { 1779 // console.log('psearch showSiteProjectSEARCH'); 1780 if(PAGE_MODE == 'c') return false; 1781 $('.cl-popupBanner.openPopupBanner').addClass('zindex20'); 1782 1783 var sid = property.SID, 1784 checkUsedMpcWeb = property.SETTINGS.vpMode_onoff; 1785 1786 var active_nav = $('.el-menu header'); 1787 if(window.innerWidth <= 768) active_nav = active_nav.is('.cl-nav') ? $('.clnav-sidemobile') : $('#mobile-nav'); 1788 1789 var psearchWarp = active_nav.find('.psearch-overlay'); 1790 if(view_page) psearchWarp = $('.psearch-view').find('.psearch-wrap'); 1791 1792 psearchWarp.find('input.psearch-input').live({ 1793 focus: function() { 1794 }, 1795 keydown: function(key) { 1796 if(key.keyCode == 13) psearchWarp.find('.psearch-icon').click(); 1797 }, 1798 }); 1799 1800 psearchWarp.find('.psearch-icon').live({ 1801 click: function() { 1802 var psearch_wrap = $(this).closest('.psearch-body'); 1803 var psearch_input = $(this).closest('.psearch-wrap').find('input.psearch-input'); 1804 var regExp = new RegExp('^[a-zA-Z0-9ã±-ã ã -ã £ê°-í£\\?\\@\\!\\- ]*$'); 1805 var stx = psearch_input.val().trim(); 1806 var error_str = ''; 1807 1808 if(stx.length == 0) error_str = $.lang[LANG]['psearch.input.empty']; 1809 else if(!regExp.test(stx)) error_str = $.lang[LANG]['psearch.input.regexp']; 1810 1811 if(error_str.length > 0) { 1812 if(psearch_wrap.find('.error').length > 0) psearch_wrap.find('.error').html('<i class="cl-icon alert02"></i> ' + error_str); 1813 else psearch_input.closest('.psearch-wrap').after('<span class="error"><i class="cl-icon alert02"></i> ' + error_str + '</span>'); 1814 1815 psearch_input.focus(); 1816 return; 1817 } else { 1818 psearch_wrap.find('.error').remove(); 1819 } 1820 1821 //check mpcWeb Mode 1822 if(checkUsedMpcWeb) { 1823 var viewportMode = property.SETTINGS.viewportMode, 1824 vpmode = (typeof $('.mobilepc_ch').attr('data-desktop-option') != 'undefined') ? $('.mobilepc_ch').attr('data-desktop-option') : viewportMode; 1825 $.cookie('desktop-option',vpmode, { path: '/' }); 1826 } 1827 1828 var url = (PAGE_MODE=='s') ? '' : '/render', 1829 href = url + '/psearch/num/1/stx/' + encodeURIComponent(stx); 1830 location.href = href; 1831 1832 } 1833 }); 1834 1835 }, 1836 normalizeHref: function(href) { 1837 href = (href || '').toString().trim(); 1838 if(!href) return ''; 1839 1840 href = href.replace(/^\/render/i, ''); 1841 href = href.split('#')[0].split('?')[0]; 1842 1843 if(/^https?:\/\//i.test(href)){
1844 try { href = new URL(href).pathname; } catch(e){} 1845 } 1846 1847 href = href.replace(/\/view\/\d+$/i, ''); 1848 1849 if(href && href.charAt(0) !== '/') href = '/' + href; 1850 return href; 1851 }, 1852 buildMenuBreadcrumbMap: function(menuOption) { 1853 var map = {}; // key: normalized href value: "í > ë©ì¸ > ìë¸" 1854 1855 if(!menuOption || !menuOption.length) return map; 1856 1857 for(var i=0; i<menuOption.length; i++){ 1858 var m = menuOption[i]; 1859 var mainName = (m && m.name) ? m.name : ''; 1860 var mainHref = $.psearch.normalizeHref(m && m.href); 1861 1862 if(mainHref){ 1863 map[mainHref] = $.lang[LANG]['editor.resource.icon.home'] + ' > ' + mainName; 1864 } 1865 1866 var children = (m && m.children) ? m.children : []; 1867 for(var j=0; j<children.length; j++){ 1868 var c = children[j]; 1869 var subName = (c && c.name) ? c.name : ''; 1870 var subHref = $.psearch.normalizeHref(c && c.href); 1871 1872 if(subHref){ 1873 map[subHref] = $.lang[LANG]['editor.resource.icon.home'] + ' > ' + mainName + ' > ' + subName; 1874 } 1875 } 1876 } 1877 return map; 1878 } 1879 } 1880 1881 $.shopping = { 1882 init: function() { 1883 // console.log('shopping init'); 1884 var checkEllist = (typeof isElviewPage != 'undefined' && isElviewPage === true) ? true : false, 1885 fheader_selec = (checkEllist) ? $('.elviewhtml header.navbar') : $('.el-menu header.navbar'); 1886 1887 if(!fheader_selec.hasClass('navbar-fheader')) return false; 1888 1889 var sid = (PAGE_MODE == 'c') ? SID : property.SID, 1890 s_validtype = (PAGE_MODE == 'c') ? VALIDTYPE : property.VALIDTYPE; 1891 1892 var scart = (s_validtype == 'SM') ? true : false; 1893 1894 if(scart) $.shopping.set('on',checkEllist); 1895 else $.shopping.set('off',checkEllist); 1896 }, 1897 set: function(onoff,checkEllist){ 1898 var checkClnav = $.clnav.check(); 1899 if(checkClnav) return false; 1900 1901 // console.log('shopping set'); 1902 var checkEllist = ( typeof checkEllist!='undefined' && checkEllist) ? checkEllist : false; 1903 fheader_selec = (checkEllist) ? $('.elviewhtml header.navbar') : $('.el-menu header.navbar'); 1904 if(!fheader_selec.hasClass('navbar-fheader')) return false; 1905 1906 if(onoff.match(/on/gi)) $.shopping.makeSiteFixedCART(); 1907 else { 1908 $('#fixed-menu, #fixed-menu-sub').find('.siteCART').remove(); 1909 $('#tpl-menu').find('.siteCART').remove(); 1910 $('div.siteCART.micon').remove(); 1911 } 1912 }, 1913 makeSiteFixedCART: function() { 1914 var checkClnav = $.clnav.check(); 1915 if(checkClnav) return false; 1916 1917 // console.log('shopping makeSiteFixedCART'); 1918 var checkEllist = (typeof isElviewPage != 'undefined' && isElviewPage === true) ? true : false, 1919 pc_nav = (checkEllist) ? $('.elviewhtml header.navbar #fixed-menu, .elviewhtml header.navbar #fixed-menu-sub') : $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub'), 1920 mobile_nav = (checkEllist) ? $('.elviewhtml header.navbar') : $('.el-menu header.navbar'), 1921 checkfixtype_nav = (checkEllist) ? $('.elviewhtml header.navbar') : $('.el-menu header.navbar'), 1922 checkFixTypeMenu = (typeof checkfixtype_nav.attr('data-fixtype') != 'undefined' && checkfixtype_nav.attr('data-fixtype')) ? true : false; 1923 1924 var sid = (PAGE_MODE == 'c') ? SID : property.SID, 1925 cart_url = (PAGE_MODE == 'c' || PAGE_MODE == 'r') ? 'javascript:;' : '/_cart', 1926 content = '\ 1927 <li class="siteCART">\ 1928 <a href="' + cart_url + '"><i class="cl-icon cl_icon_cart" aria-hidden="true"></i></a>\ 1929 </li>\ 1930 ', 1931 mobile_content = '\ 1932 <div class="siteCART micon">\ 1933 <a href="' + cart_url + '"><i class="cl-icon cl_icon_cart" aria-hidden="true"></i></a>\ 1934 </div>\ 1935 '; 1936 1937 /* Shopping Only KO Site */ 1938 // var slang = (PAGE_MODE == 'c') ? SLANG : property.SLANG; 1939 // if(typeof slang != 'undefined' && typeof slang.select_code != 'undefined' && slang.select_code != 'ko') { 1940 // $('#fixed-menu, #fixed-menu-sub').find('.siteCART').remove(); 1941 // $('#tpl-menu').find('.siteCART').remove(); 1942 // $('div.siteCART.micon').remove(); 1943 // return false; 1944 // } 1945 1946 if(pc_nav.find('.siteCART').length > 0) { 1947 if(checkFixTypeMenu) pc_nav.find('.siteCART').find('a').attr('href',cart_url); 1948 else pc_nav.find('.siteCART').replaceWith(content); 1949 } else pc_nav.append(content); 1950 1951 if(mobile_nav.find('div.siteCART.micon').length>0) { 1952 if(checkFixTypeMenu) mobile_nav.find('div.siteCART.micon').find('a').attr('href',cart_url); 1953 else mobile_nav.find('div.siteCART.micon').replaceWith(mobile_content); 1954 } else { 1955 mobile_nav.find('.navbar-toggle').before(mobile_content); 1956 } 1957 1958 if(pc_nav.find('.siteCART').css('display')=='none') mobile_nav.find('.siteCART.micon').hide(); 1959 1960 var fixed_a_color = (checkFixTypeMenu) ? '' : $('.el-menu .navbar-toggle .
1960icon-bar').css('background-color'); 1961 //var mobile_color = $('#mobile-nav').find('.cl-fixbtn.cl-visible').find('svg').css('fill'); 1962 if(checkEllist && typeof PAGE_MODE!='undefined' && PAGE_MODE=='c') { 1963 fixed_a_color = mobile_nav.find('.navbar-toggle .icon-bar').css('background-color'); 1964 } 1965 1966 1967 if(pc_nav.closest('header').find('.cl-menu-option').length > 0) { 1968 } else { 1969 mobile_nav.find('div.siteCART.micon').css({ 1970 'color': fixed_a_color, 1971 'right': '56px', 1972 'display': (checkFixTypeMenu) ? $('header.navbar-fheader').find('.siteCART.cl-fixbtn').css('display') : '' 1973 }); 1974 } 1975 1976 if(PAGE_MODE == 's') { 1977 var cart_active = Number(property.CART); 1978 // $.ajax({ 1979 // type: 'POST', 1980 // url: '/_basket/check', 1981 // data: { sid : sid }, 1982 // dataType: 'json', 1983 // async: true, 1984 // success: function(r) { 1985 // if(typeof r.error != 'undefined' && r.error) { 1986 // // console.log(r.error); 1987 // return false; 1988 // } 1989 // console.log(property.CART); 1990 if(Number(cart_active) > 0) { 1991 if(checkFixTypeMenu) { 1992 var cart_active_str = cart_active.toString(), 1993 $selec = $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub'), 1994 fixtypeNum = $('.el-menu header.navbar').attr('data-fixtype').replace(/(top|sidebar)\_/gi,''), 1995 cart_active_selec = ($selec.find('.siteCART .cart-active-txt').length>0) ? $selec.find('.cart-active-txt') : $selec.find('.cart-active'), 1996 cart_active_class = (cart_active_str.length>1 && cart_active_str.length<3) ? 'cartActive_2' : ((cart_active_str.length>2 && cart_active_str.length<4) ? 'cartActive_3' : ''), 1997 radius_arr = ['03','04','05','06','10']; 1998 1999 cart_active_selec.text(cart_active); 2000 $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub').find('.siteCART .cart-active').show(); 2001 $('.el-menu header.navbar').find('.siteCART.micon .cl_icon_cart').html('<span class="cart-active"></span>'); 2002 2003 if($.inArray(fixtypeNum,radius_arr) > -1) $selec.find('.cart-active').removeClass('cartActive_2 cartActive_3').addClass(cart_active_class); 2004 2005 } else { 2006 var cart_active = '<span class="cart-active"></span>'; 2007 $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub').find('.siteCART .cl_icon_cart').html(cart_active); 2008 } 2009 2010 } else { 2011 var r = { member : property.UMEMBER }, 2012 check_login = (typeof r.member != 'undefined') ? r.member.check_login : false; 2013 2014 // if(!check_login) $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub').find('.siteCART .cart-active').hide(); 2015 // else $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub').find('.siteCART .cart-active').show(); 2016 2017 if(checkFixTypeMenu && Number(cart_active)==0) { 2018 $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub').find('.cart-active').hide(); 2019 } 2020 } 2021 // } 2022 // }); 2023 } else { 2024 if(PAGE_MODE=='r' && checkFixTypeMenu) $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub').find('.cart-active').remove(); 2025 } 2026 2027 } 2028 } 2029 2030 $.slang = { 2031 init: function(data) { 2032 // console.log('$.slang.init()'); 2033 if(typeof data != 'undefined' && data) { 2034 if(PAGE_MODE == 'c') SLANG = data; 2035 else property.SLANG = data; 2036 } 2037 2038 var slang = (PAGE_MODE == 'c') 2039 ? ((typeof SLANG != 'undefined' && SLANG) ? SLANG : {}) 2040 : ((typeof property != 'undefined' && property && property.SLANG) ? property.SLANG : {}), 2041 slang_lists = $.isArray(slang['lists']) ? slang['lists'] : [], 2042 s_validplan = (PAGE_MODE == 'c') ? VALIDPLAN : property.VALIDPLAN, 2043 s_validtype = (PAGE_MODE == 'c') ? VALIDTYPE : property.VALIDTYPE, 2044 checkFree = (!s_validplan || s_validtype == 'PK') ? true : false; 2045 2046 if(checkFree || $.isEmptyObject(slang) || slang.use_language != 'on' || slang_lists.length === 0) { 2047 $.slang.set('off'); 2048 } else { 2049 $.slang.set('on'); 2050 } 2051 }, 2052 set: function(onoff) { 2053 // console.log('$.slang.set()');
2054 var check_fh = ($('.el-menu header.navbar').hasClass('navbar-fheader')) ? true : false, 2055 pc_nav = (check_fh) ? (($('.el-menu > header.navbar').hasClass('sidebar')) ? $('.el-menu > header.navbar') : $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub')) : $('.el-menu header.navbar #tpl-menu'), 2056 mobile_nav = (check_fh) ? $('#mobile-nav #fixed-menu') : $('.el-menu header.navbar'), 2057 checkFixOnSearch = (typeof $('.el-menu header.navbar').attr('data-fixon') != 'undefined' && $('.el-menu header.navbar').attr('data-fixon').indexOf('search')>-1) ? true : false; 2058 2059 if(onoff.match(/on/gi)) $.slang.make(); 2060 else { 2061 $('.el-menu .siteLANG, #mobile-nav .siteLANG').remove(); 2062 2063 if(pc_nav.find('.siteUM').css('display')=='none') { 2064 if(!checkFixOnSearch) { 2065 mobile_nav.parent().addClass('hide'); 2066 } else { 2067 mobile_nav.parent().find('.login-content').css('pointer-events','none'); 2068 mobile_nav.parent().find('.login-content').children().css('visibility','hidden'); 2069 } 2070 } 2071 } 2072 }, 2073 make: function() { 2074 // console.log('$.slang.make()'); 2075 var slang = (PAGE_MODE == 'c') 2076 ? ((typeof SLANG != 'undefined' && SLANG) ? SLANG : {}) 2077 : ((typeof property != 'undefined' && property && property.SLANG) ? property.SLANG : {}), 2078 check_fh = ($('.el-menu > header.navbar').hasClass('navbar-fheader')) ? true : false, 2079 caret = ($('.el-menu > header.navbar').hasClass('sidebar')) ? 'fa fa-caret-right fa-1' : 'fa fa-caret-down fa-1', 2080 slang_data = $.isArray(slang['lists']) ? slang['lists'] : [], 2081 slang_str = (typeof slang['select'] != 'undefined') ? slang['select'] : '', 2082 slang_arrow = (slang_data.length > 1) ? '<i class="cl-icon arrow09" aria-hidden="true"></i>' : '', 2083 slang_list = '', 2084 checkFixLangTypeMenu = (typeof $('.el-menu > header.navbar').attr('data-fixlangtype') != 'undefined' && $('.el-menu > header.navbar').attr('data-fixlangtype')) ? true : false, 2085 pc_nav = (check_fh) ? (($('.el-menu > header.navbar').hasClass('sidebar')) ? $('.el-menu > header.navbar') : $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub')) : $('.el-menu header.navbar #tpl-menu'), 2086 mobile_nav = (check_fh) ? $('#mobile-nav #fixed-menu') : $('.el-menu header.navbar'), 2087 fixbtnData = ($('.el-menu > header.navbar').hasClass('sidebar')) ? $.menuFixBtn.getData(pc_nav) : $.menuFixBtn.getData($('.el-menu > header.navbar')), 2088 checkFixOnSearch = (typeof $('.el-menu header.navbar').attr('data-fixon') != 'undefined' && $('.el-menu header.navbar').attr('data-fixon').indexOf('search')>-1) ? true : false; 2089 2090 if(slang_data.length === 0) { 2091 $.slang.set('off'); 2092 return; 2093 } 2094 2095 2096 $.each(slang_data, function(i,o) { 2097 var active = (o['name'] == slang_str) ? 'active' : ''; 2098 2099 /* Shopping Only KO Site */ 2100 // if(active && o['code'] != 'ko') { 2101 // pc_nav.find('.makeSiteSEARCH').remove(); 2102 // pc_nav.find('.siteCART').remove(); 2103 // } 2104 2105 slang_list += '\ 2106 <li class="' + active + '"><a href="javascript:;" data-code="' + o['code'] + '">' + o['name'] + '</a></li>\ 2107 '; 2108 }); 2109 2110 /*SLANG = (PAGE_MODE == 'c') ? SLANG : property.SLANG;*/ 2111 var content = (checkFixLangTypeMenu) ? ($('.el-menu > header.navbar').hasClass('sidebar') ? $.menuFixBtn.fixLangSet(fixbtnData['fixlangtypeNum'],false) : $.menuFixBtn.fixLangSet(fixbtnData['fixlangtypeNum'])) : '\ 2112 <li class="siteLANG dropdown">\ 2113 <a href="javascript:;" class="dropdown-toggle"><i class="cl-icon cl_icon_globe" aria-hidden="true"></i> <span class="slang-active">' + slang_str + '</span>' + slang_arrow + '</a>\ 2114 <ul class="dropdown-menu">\ 2115 ' + slang_list + '\ 2116 </ul>\ 2117 </li>\ 2118 ', 2119 mobile_content = (checkFixLangTypeMenu) ? $.menuFixBtn.fixLangSet(fixbtnData['fixlangtypeNum'],false,'',true) : ((check_fh) ? '\ 2120 <li class="siteLANG dropdown">\ 2121 <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" data-target="#m-dropdown-wrap-lang"><i class="cl-icon cl_icon_globe" aria-hidden="true"></i></a>\ 2122 <div class="dropdown-menu-wrap" id="m-dropdown-wrap-lang">\ 2123 <span class="dropdown-close"><img src="//storage.googleapis.com/i.addblock.net/fa-close-modal-white.png" alt="Close Change Multilingual Site"></span></span>\ 2124 <ul class="dropdown-menu">\ 2125 ' + slang_list + '\ 2126 </ul>\ 2127 </div>\ 2128 </li>\ 2129 ':'\ 2130 <div class="siteLANG micon dropdown">\ 2131 <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" data-target=".siteLANG-dmenu-wrap"><i class="cl-icon cl_icon_globe" aria-hidden="true"></i></a>\ 2132 </div>\ 2133 '), 2134 mobile_dropdown_menu = '\ 2135 <div class="siteLANG-dmenu-wrap">\ 2136 <!--<span class="dropdown-close"><span class="icon-bar"></span><span class="icon-bar"></span></span>-->\ 2137 <ul class="dropdown-menu">\ 2138 ' + slang_list + '\ 2139 </ul>\ 2140 </div>\ 2141 '; 2142 2143 if(pc_nav.find('.siteLANG').length > 0) { 2144 pc_nav.find('.siteLANG').replaceWith(content); 2145 if($('.el-menu >
2145 header.navbar').hasClass('sidebar')) { 2146 pc_nav.find('.fh-line').remove(); 2147 pc_nav.parents('.menu-inner').after('<hr class="fh-line" />'); 2148 } 2149 } else { 2150 pc_nav.find('.siteLANG.cl-fixbtn').remove(); 2151 if(checkFixLangTypeMenu && $('.el-menu > header.navbar').hasClass('sidebar')) { 2152 pc_nav.find('.fh-line').remove(); 2153 $('.el-menu > header.navbar').find('.menu-inner').after(content); 2154 pc_nav.parents('.menu-inner').after('<hr class="fh-line" />'); 2155 } else pc_nav.append(content); 2156 } 2157 if(pc_nav.find('.siteUM').css('display')=='none') { 2158 if(!checkFixOnSearch) { 2159 mobile_nav.parent().addClass('hide'); 2160 } else { 2161 mobile_nav.parent().find('.login-content').css('pointer-events','none'); 2162 mobile_nav.parent().find('.login-content').children().css('visibility','hidden'); 2163 } 2164 } 2165 2166 if(check_fh) { 2167 if(checkFixLangTypeMenu) { 2168 if(mobile_nav.find('.cl-fixbtn.siteLANG').length==0) { 2169 $('#mobile-nav').append(mobile_content); 2170 $('#mobile-nav').find('.cl-fixbtn.siteLANG.dropup .dropdown-backdrop').remove(); 2171 } 2172 2173 var mobile_color = mobile_nav.find('.siteSEARCH.cl-fixbtn svg').css('fill'); 2174 2175 $('#mobile-nav').find('.siteLANG.cl-fixbtn a').css({ 2176 'color':mobile_color, 2177 'border-color':mobile_color 2178 }) 2179 2180 $('#mobile-nav').find('.siteLANG.cl-fixbtn a svg').css('fill',mobile_color); 2181 } else { 2182 if(mobile_nav.find('.siteLANG').length > 0) mobile_nav.find('.siteLANG').replaceWith(mobile_content); 2183 else mobile_nav.append(mobile_content); 2184 } 2185 } else { 2186 if(mobile_nav.find('div.siteLANG.micon').length>0) mobile_nav.find('div.siteLANG.micon').replaceWith(mobile_content); 2187 else mobile_nav.find('.navbar-toggle').before(mobile_content); 2188 2189 if($('div.siteLANG-dmenu-wrap').length>0) $('div.siteLANG-dmenu-wrap').replaceWith(mobile_dropdown_menu); 2190 else if($('div.siteUM-dmenu-wrap').length>0) $('div.siteUM-dmenu-wrap').after(mobile_dropdown_menu); 2191 else $('#tpl-menu').parent().after(mobile_dropdown_menu); 2192 2193 mobile_nav.find('div.siteLANG.micon').css({ 2194 'color': $('.el-menu .navbar-toggle .icon-bar').css('background-color'), 2195 'right': '56px', 2196 }); 2197 } 2198 } 2199 } /*slang end*/ 2200 2201 2202 $.umember = { 2203 init: function(um_used, um_lang, um_display, callback) { 2204 // console.log('umember init'); 2205 2206 if(typeof um_used != 'undefined' && um_used) { 2207 if(PAGE_MODE == 'c') SITEUM = um_used; 2208 else property.SITEUM = um_used; 2209 } 2210 2211 if(typeof um_lang != 'undefined' && um_lang) { 2212 if(PAGE_MODE == 'c') SITEUMLANG = um_lang; 2213 else property.SITEUMLANG = um_lang; 2214 } 2215 2216 if(typeof um_display != 'undefined' && um_display) { 2217 if(PAGE_MODE == 'c') SITEUMDISPLAY = um_display; 2218 else property.SITEUMDISPLAY = um_display; 2219 } 2220 2221 var s_um = (PAGE_MODE == 'c') ? SITEUM : property.SITEUM, 2222 check_fh = ($('.el-menu header.navbar').hasClass('navbar-fheader')) ? true : false; 2223 2224 if(s_um == 0 || (typeof s_um == 'string' && s_um == '0')) { 2225 if(check_fh) { 2226 $('#fixed-menu, #fixed-menu-sub').find('.siteUM').remove(); 2227 $('#mobile-nav').find('.siteUM').remove(); 2228 $('#mobile-nav').find('.mobilenav_top').addClass('hide'); 2229 } else { 2230 $('#tpl-menu').find('.siteUM').remove(); 2231 $('div.siteUM.micon').remove(); 2232 $('div.siteUM-dmenu-wrap').remove(); 2233 } 2234 if(typeof callback == 'function') { callback(); } 2235 } else { 2236 if(check_fh) $.umember.makeSiteFixedUM(callback); 2237 else $.umember.makeSiteUM(callback); 2238 } 2239 }, 2240 setUM: function(onoff,callback) { 2241 // console.log('umember setUM'); 2242 var check_fh = ($('.el-menu header.navbar').hasClass('navbar-fheader')) ? true : false; 2243 // menu ver2 : navbar-simple(mobile design) 2244 // menu ver3 : navbar-fheader(+shopping cart, mobile slide nav) 2245 2246 if(onoff.match(/on/gi)) { 2247 if(check_fh) $.umember.makeSiteFixedUM(callback); 2248 else $.umember.makeSiteUM(callback); 2249 } else { 2250 if(check_fh) { 2251 $('#fixed-menu, #fixed-menu-sub').find('.siteUM').remove(); 2252 $('#mobile-nav').find('.siteUM').remove(); 2253 } else { 2254 $('#tpl-menu').find('.siteUM').remove(); 2255 $('div.siteUM.micon').remove(); 2256 $('div.siteUM-dmenu-wrap').remove(); 2257 } 2258 2259 if(typeof callback == 'function') { 2260 callback(); 2261 } 2262 } 2263 }, 2264 makeSiteFixedUM: function(callback) { 2265 // console.log('umember makeSiteFixedUM'); 2266 var sid = (PAGE_MODE == 'c') ? SID : property.SID, 2267 s_validtype = (PAGE_MODE == 'c') ? VALIDTYPE : property.VALIDTYPE, 2268 s_um = (PAGE_MODE == 'c') ? SITEUM : property.SITEUM, 2269 s_um_lang = (PAGE_MODE == 'c') ? SITEUMLANG : property.SITEUMLANG, 2270 s_um_display = (PAGE_MODE == 'c') ? SITEUMDISPLAY : property.SITEUMDISPLAY, 2271 s_service = (PAGE_MODE == 'c') ? SERVICE : property.SERVICE; 2272 2273 if( s_validtype != 'BN' && s_validtype != 'SM' || 2274 s_validtype == 'BN' && s_um == '-1' 2275 ) { 2276 $.umember.setUM('off',callback); 2277 return false;
2278 } 2279 2280 if(s_validtype == 'SM' && s_um_display == 'join') s_um_display = 'login'; 2281 2282 if(PAGE_MODE == 'c') { 2283 if(typeof callback == 'function') { 2284 callback(); 2285 } 2286 return false; 2287 } 2288 2289 var display = (s_um == 1) ? 'login' : s_um_display, 2290 caret = ($('.el-menu > header.navbar').hasClass('sidebar')) ? 'fa fa-caret-right fa-1' : 'fa fa-caret-down fa-1', 2291 str = (s_um == 1) ? $.lang[LANG]['manager.site-um.login'] : ((s_um_display) ? $.lang[s_um_lang]['manager.site-um.'+s_um_display] : ''); 2292 2293 // $.post('/umember/login/check', { sid : sid }, function(r) { 2294 var r = { member : property.UMEMBER }; 2295 2296 var check_login = (typeof r.member != 'undefined') ? r.member.check_login : false, 2297 check_admin = (typeof r.member != 'undefined') ? r.member.check_adm : false, 2298 check_uadmin = (typeof r.member != 'undefined') ? r.member.check_uadm : false, 2299 check_groot = (typeof r.member != 'undefined') ? r.member.check_groot : false, 2300 uadmin_type = (typeof r.member != 'undefined') ? r.member.uadmin_type : '', 2301 check_id_type = (typeof r.member != 'undefined') ? r.member.id_type : '', 2302 login_id = (typeof r.member != 'undefined') ? r.member.id : '', 2303 login_nick = (typeof r.member.nick != 'undefined') ? r.member.nick : login_id, 2304 login_profile = (typeof r.member.profile != 'undefined') ? r.member.profile : '//storage.googleapis.com/i.addblock.net/defaultImg.png', 2305 f_color = ($('.el-menu .navbar-fheader').hasClass('mobile-design-clear')) ? 'style="color:' + $('.el-menu ul.navbar-nav > li > a').css('color') + ';"' : '', 2306 checkFixTypeMenu = (typeof $('.el-menu header.navbar').attr('data-fixtype') != 'undefined' && $('.el-menu header.navbar').attr('data-fixtype')) ? true : false, 2307 fixtype_color = (checkFixTypeMenu) ? (($('.el-menu .navbar-fheader').hasClass('mobile-design-clear')) ? 'style="color:' + $('.el-menu ul.cl-fixed-menu > li > a').css('color') + ';"' : '') : f_color, 2308 fixtype_menu_color = (checkFixTypeMenu) ? (($('.el-menu .navbar-fheader').hasClass('mobile-design-clear')) ? 'style="color:' + $('.el-menu #tpl-menu > li > a').css('color') + ';"' : '') : f_color, 2309 checkFixOnSearch = (typeof $('.el-menu header.navbar').attr('data-fixon') != 'undefined' && $('.el-menu header.navbar').attr('data-fixon').indexOf('search')>-1) ? true : false; 2310 2311 var hostAry = window.location.hostname.split('.'), 2312 isCoKr = hostAry[2] == 'co' && hostAry[3] == 'kr', 2313 checkDomain = (hostAry[1] != 'creatorlink' && hostAry[1] != 'addblock') ? true : false, 2314 checkPort = (location.port) ? ':'+location.port : '', 2315 host = (!checkDomain) ? (!isCoKr ? `${hostAry[1]}.${hostAry[2]}` : 'creatorlink.co.kr') : 'creatorlink.net', 2316 host_url = (s_service.indexOf('gabia') > -1) ? '//creatorlink-gabia.com' : '//'+host+checkPort, 2317 menu_url = { 2318 'dashboard': (check_uadmin) ? '/_admin/dashboard' : host_url + '/dashboard', 2319 'member' : (check_uadmin) ? '/_admin/member' : host_url + '/manager/member', 2320 }; 2321 2322 var menu_dashboard_str = (check_admin || check_uadmin) ? '\ 2323 <li><a href="' + menu_url['dashboard'] + '" target="_blank" class="cl-umMenu">' + $.lang[LANG]['manager.site-um.dashboard'] + '</a></li>\ 2324 ' : '', 2325 menu_member_str = (check_admin) ? '\ 2326 <li><a href="' + host_url + '/manager/member/" target="_blank" class="cl-umMenu">' + $.lang[LANG]['manager.site-um.manage'] + '</a></li>\ 2327 ' : '', 2328 menu_mygabia_str = (s_service.indexOf('gabia') > -1 && (check_admin || (check_uadmin && check_groot))) ? '\ 2329 <li><a href="https://www.gabia.com/mygabia/service" target="_blank" class="cl-umMenu">' + $.lang[LANG]['manager.site-um.mypage.gabia'] + '</a></li>\ 2330 ' : '', 2331 menu_mypage_str = (check_admin) ? '' : ((checkFixTypeMenu) ? '\ 2332 <li><a class="mypost cl-umMenu" href="/_mypost">' + $.lang[LANG]['manager.site-um.mypage.post'] + '</a></li>\ 2333 <li><a class="hand cl-umMenu myinfo-change" href="javascript:;" onclick="myinfoChangeBtn(this)" id="myinfo-change-btn" data-sid="'+sid+'">' + $.lang[LANG]['manager.site-um.mypage'] + '</a></li>\ 2334 ' : '<li><a class="mypage" href="javascript:;">' + $.lang[LANG]['manager.site-um.mypage'] + '</a></li>'); 2335 2336 if(checkDomain && check_admin) { 2337 menu_dashboard_str = '\ 2338 <li><a class="dashboard cl-umMenu" href="javascript:;" target="_blank">' + $.lang[LANG]['manager.site-um.dashboard'] + '</a></li>\ 2339 '; 2340 } 2341 2342 if(s_validtype == 'SM') { 2343 if(checkFixTypeMenu) { 2344 var propertySettings = (PAGE_MODE!='c' && typeof property.SETTINGS!='undefined') ? property.SETTINGS : {}, 2345 smSettings = (PAGE_MODE!='c' && typeof property.SMSETTINGS!='undefined') ? property.SMSETTINGS : {}, 2346 point_settings = (PAGE_MODE!='c' && typeof property.POINGSETTINGS!='undefined') ? property.POINGSETTINGS : {}, 2347 point_user = (PAGE_MODE!='c' && typeof point_settings.point_use != 'undefined' && point_settings.point_use) ? point_settings.point_use : '', 2348 coupon_btn_str = (PAGE_MODE!='c' && typeof smSettings.coupon_use_yn != 'undefined' && smSettings.coupon_use_yn == 'Y') ? ('<li><a class="coupon cl-umMenu" href="/_coupon">' + $.lang[LANG]['manager.site-um.mypage.coupon'] + '</a></li>') : '', 2349 point_useStr = (PAGE_MODE!='c' && point_user && point_user=='Y' && LANG=='ko') ? '<li><a class="mypoint cl-umMenu" href="/_point">' + $.lang[LANG]['manager.site-um.mypage.point'] + '</a></li>' : '', 2350 wishlist_btn_str = (typeof propertySettings.product_wishlist_btn != 'undefined' && (propertySettings.product_wishlist_btn=='Y') && LANG=='ko') ? '<li><a class="mywishlist cl-umMenu" href="/_wishlist">' + $.lang[LANG]['manager.site-um.mypage.wishlistbtn'] + '</a></li>' : ''; 2351 2352 menu_mypage_str = (check_admin) ? '' : '\ 2353 <li><a class="myorderlist cl-umMenu" href="/_mypage">' + $.lang[LANG]['manager.site-um.mypage.orderlist'] + '</a></li>' 2354 + wishlist_btn_str + coupon_btn_str + point_useStr + '\ 2355 <li><a class="mypost cl-umMenu" href="/_mypost">' + $.lang[LANG]['manager.site-um.mypage.post'] + '</a></li>\ 2356 <li><a class="hand myinfo-change cl-umMenu" href="javascript:;" onclick="myinfoChangeBtn(this)" id="myinfo-change-btn" data-sid="'+sid+'">' + $.lang[LANG]['manager.site-um.mypage.new'] + '</a></li>\ 2357 '; 2358 } else { 2359 menu_mypage_str = (check_admin) ? '' : '\ 2360 <li><a class="mypage" href="javascript:;">' + $.lang[LANG]['manager.site-um.mypage.SM'] + '</a></li>\ 2361 '; 2362 } 2363 } 2364 2365 if(login_id == 'naverpaytest') { 2366 menu_mypage_str = ''; 2367 } 2368 2369 var SLANG = (PAGE_MODE == 'c') ? SLANG : property.SLANG, 2370 lang_str = LANG; 2371 2372 if((typeof SLANG != 'undefined' && typeof SLANG.select_code != 'undefined' && SLANG.select_code) 2373 || (!$.isEmptyObject(SLANG) && SLANG.use_language == 'on' && SLANG.select_code)) { 2374 lang_str = (SLANG['select_code'].toLowerCase()!='ko') ? 'en' : LANG; 2375 } 2376 2377 var login_url = (s_validtype == 'SM') ? '/_login' : 'javascript:;', 2378 login_content_dropdown_class = (checkFixTypeMenu) ? 'dropdown-toggle' : '', 2379 login_content_dropdown = (checkFixTypeMenu) ? 'data-toggle="dropdown" data-target="#m-dropdown-wrap-um"' : '', 2380 login_svg = (checkFixTypeMenu) ? clSVG('arrow_next',16,16) : '', 2381 login_content = (!check_login) ? '<div class="login-content siteUM"><a href="javascript:;" class="' + display + '" ' + fixtype_color + '>' + $.lang[lang_str]['manager.site-um.mobile.'+s_um_display] + login_svg + '</a></div>' : '\ 2382 <div class="login-content '+login_content_dropdown_class+'" '+login_content_dropdown+'>\ 2383 <div class="login-profile">\ 2384 <img src="' + login_profile + '" alt="" class="img-responsive" />\ 2385 </div>\ 2386 <div class="login-nick" ' + fixtype_menu_color + '><span>' + login_nick + '</span> ë</div>\ 2387 </div>', 2388 menu_str = menu_dashboard_str + menu_member_str + menu_mygabia_str + menu_mypage_str, 2389 pc_dropdown = (check_login) ? '\ 2390 <ul class="dropdown-menu">\ 2391 ' + menu_str + '\ 2392 <li><a class="logout cl-umMenu" href="javascript:;">' + $.lang[LANG]['manager.site-um.logout'] + '</a></li>\ 2393 </ul>\ 2394 ' : '', 2395 content = (!check_login) ? '\ 2396 <li class="siteUM"><a href="javascript:;" class="' + display + '"><i class="cl-icon cl_icon_profile" aria-hidden="true"></i></a></li>' : '\ 2397 <li class="siteUM dropdown">\ 2398 <a href="javascript:;" class="dropdown-toggle"><i class="cl-icon cl_icon_profile_on02" aria-hidden="true"></i></a>\ 2399 '+ pc_dropdown +'\ 2400 </li>\ 2401 ', 2402 mobile_dropdown = (check_login) ? '\ 2403 <div class="dropdown-menu-wrap" id="m-dropdown-wrap-um">\ 2404 <span class="dropdown-close"><img src="//storage.googleapis.com/i.addblock.net/fa-close-modal-white.png" alt="Close Member Menu"></span></span>\ 2405 <ul class="dropdown-menu">\ 2406 ' + menu_str + '\ 2407 <li><a class="logout cl-umMenu" href="javascript:;">' + $.lang[LANG]['manager.site-um.logout'] + '</a></li>\ 2408 </ul>\ 2409 </div>\ 2410 ' : '', 2411 mobile_content = (!check_login) ? '\ 2412 <li class="siteUM"><a href="javascript:;" class="' + display + '"><i class="cl-icon cl_icon_profile" aria-hidden="true"></i></a></li>' : '\ 2413 <li class="siteUM dropdown">\ 2414 <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" data-target="#m-dropdown-wrap-um"><i class="cl-icon cl_icon_profile_on02" aria-hidden="true"></i></a>\ 2415 '+ mobile_dropdown +'\ 2416 </li>\ 2417 '; 2418 2419 // IE ERROR_promise__H.20210603 2420 // var successSiteUMLogin = new Promise(function(resolve, reject) { 2421 var successSiteUMLogin = function() { 2422 var deferred = $.Deferred(); 2423
2424 var pc_nav = $('.el-menu header.navbar #fixed-menu, .el-menu header.navbar #fixed-menu-sub'), 2425 mobile_nav = $('#mobile-nav #fixed-menu'), 2426 checkFixTypeMenu = (typeof $('.el-menu header.navbar').attr('data-fixtype') != 'undefined' && $('.el-menu header.navbar').attr('data-fixtype')) ? true : false; 2427 2428 if(pc_nav.find('.siteUM').length > 0) { 2429 if(checkFixTypeMenu) { 2430 setLoginLogoutAttribute(check_login,pc_nav,display); 2431 if(check_login) pc_nav.find('.siteUM').find('.cl-logout').after(pc_dropdown); 2432 } else pc_nav.find('.siteUM').replaceWith(content); 2433 } else { 2434 if(pc_nav.find('.siteSEARCH').length > 0) pc_nav.find('.siteSEARCH').after(content); 2435 else if(pc_nav.find('.siteCART').length > 0) pc_nav.find('.siteCART').before(content); 2436 else if(pc_nav.find('.siteLANG').length > 0) pc_nav.find('.siteLANG').before(content); 2437 else pc_nav.append(content); 2438 } 2439 2440 if(mobile_nav.find('.siteUM').length > 0) { 2441 if(checkFixTypeMenu) { 2442 setLoginLogoutAttribute(check_login,mobile_nav,display); 2443 if(check_login) mobile_nav.prepend(mobile_dropdown); 2444 } else mobile_nav.find('.siteUM').replaceWith(mobile_content); 2445 } else { 2446 if(mobile_nav.find('.siteSEARCH').length > 0) mobile_nav.find('.siteSEARCH').after(mobile_content); 2447 else if(mobile_nav.find('.siteCART').length > 0) mobile_nav.find('.siteCART').before(mobile_content); 2448 else if(mobile_nav.find('.siteLANG').length > 0) mobile_nav.find('.siteLANG').before(mobile_content); 2449 else mobile_nav.append(mobile_content); 2450 } 2451 2452 2453 if(mobile_nav.closest('#mobile-nav').find('.login-content').length > 0) mobile_nav.closest('#mobile-nav').find('.login-content').replaceWith(login_content); 2454 else mobile_nav.before(login_content); 2455 2456 if(pc_nav.find('.siteUM').css('display')=='none') { 2457 if(!checkFixOnSearch) { 2458 mobile_nav.parent().addClass('hide'); 2459 } else { 2460 mobile_nav.parent().find('.login-content').css('pointer-events','none'); 2461 mobile_nav.parent().find('.login-content').children().css('visibility','hidden'); 2462 } 2463 } 2464 2465 // var loginStr = (checkFixTypeMenu && !check_login) ? mobile_nav.find('.siteUM').removeClass('dropdown').find('.cl-login').clone() : ''; 2466 2467 // if(checkFixTypeMenu && (mobile_nav.closest('#mobile-nav').find('.login-content').length > 0) && !check_login) { 2468 // $('.mobilenav_top .login-content').html(loginStr); 2469 // } 2470 2471 // IE ERROR_promise__H.20210603 2472 // resolve(); 2473 // }); 2474 deferred.resolve(); 2475 return deferred.promise(); 2476 } 2477 2478 2479 // IE ERROR_promise__H.20210603 2480 // successSiteUMLogin.then(function(value) { 2481 successSiteUMLogin().then(function(value) { 2482 if(typeof callback == 'function') { 2483 callback(); 2484 } 2485 }); 2486 2487 2488 // },'json'); 2489 2490 2491 }, 2492 makeSiteUM: function(callback) { 2493 // console.log('umember makeSiteUM'); 2494 var sid = (PAGE_MODE == 'c') ? SID : property.SID, 2495 s_validtype = (PAGE_MODE == 'c') ? VALIDTYPE : property.VALIDTYPE, 2496 s_um = (PAGE_MODE == 'c') ? SITEUM : property.SITEUM, 2497 s_um_lang = (PAGE_MODE == 'c') ? SITEUMLANG : property.SITEUMLANG, 2498 s_um_display = (PAGE_MODE == 'c') ? SITEUMDISPLAY : property.SITEUMDISPLAY, 2499 s_service = (PAGE_MODE == 'c') ? SERVICE : property.SERVICE; 2500 2501 if( s_validtype != 'BN' && s_validtype != 'SM' || 2502 s_validtype == 'BN' && s_um == '-1') { 2503 $.umember.setUM('off',callback); 2504 return false; 2505 } 2506 2507 if(s_validtype == 'SM' && s_um_display == 'join') s_um_display = 'login'; 2508 2509 var display = (s_um == 1) ? 'login' : s_um_display, 2510 caret = ($('.el-menu > header.navbar').hasClass('sidebar')) ? 'fa fa-caret-right fa-1' : 'fa fa-caret-down fa-1', 2511 str = (s_um == 1) ? $.lang[LANG]['manager.site-um.login'] : ((s_um_display) ? $.lang[s_um_lang]['manager.site-um.'+s_um_display] : ''); 2512 2513 $.post('/umember/login/check', { sid : sid }, function(r) { 2514 var check_login = (typeof r.member != 'undefined') ? r.member.check_login : false, 2515 check_admin = (typeof r.member != 'undefined') ? r.member.check_adm : false, 2516 check_uadmin = (typeof r.member != 'undefined') ? r.member.check_uadm : false, 2517 uadmin_type = (typeof r.member != 'undefined') ? r.member.uadmin_type : '', 2518 check_id_type = (typeof r.member != 'undefined') ? r.member.id_type : '', 2519 login_id = (typeof r.member != 'undefined') ? r.member.id : '', 2520 login_nick = (typeof r.member.nick != 'undefined') ? r.member.nick : login_
2520id; 2521 2522 var hostAry = window.location.hostname.split('.'), 2523 isCoKr = hostAry[2] == 'co' && hostAry[3] == 'kr', 2524 checkDomain = (hostAry[1] != 'creatorlink' && hostAry[1] != 'addblock') ? true : false, 2525 checkPort = (location.port) ? ':'+location.port : '', 2526 host = (!checkDomain) ? (!isCoKr ? `${hostAry[1]}.${hostAry[2]}` : 'creatorlink.co.kr') : 'creatorlink.net', 2527 host_url = (s_service.indexOf('gabia') > -1) ? '//creatorlink-gabia.com' : '//'+host+checkPort, 2528 menu_url = { 2529 'dashboard': (check_uadmin) ? '/_admin/dashboard' : host_url + '/dashboard', 2530 'member' : (check_uadmin) ? '/_admin/member' : host_url + '/manager/member', 2531 }; 2532 2533 var menu_dashboard_str = (check_admin || check_uadmin) ? '\ 2534 <li><a href="' + menu_url['dashboard'] + '" target="_blank" class="cl-umMenu">' + $.lang[LANG]['manager.site-um.dashboard'] + '</a></li>\ 2535 ' : '', 2536 menu_member_str = (check_admin) ? '\ 2537 <li><a href="' + host_url + '/manager/member" target="_blank" class="cl-umMenu">' + $.lang[LANG]['manager.site-um.manage'] + '</a></li>\ 2538 ' : '', 2539 menu_mygabia_str = (s_service.indexOf('gabia') > -1 && (check_admin || (check_uadmin && check_groot))) ? '\ 2540 <li><a href="https://www.gabia.com/mygabia/service" target="_blank" class="cl-umMenu">' + $.lang[LANG]['manager.site-um.mypage.gabia'] + '</a></li>\ 2541 ' : '', 2542 menu_mypage_str = (check_admin) ? '' : '\ 2543 <li><a class="mypost cl-umMenu" href="/_mypost">' + $.lang[LANG]['manager.site-um.mypage.post'] + '</a></li>\ 2544 <li><a class="hand myinfo-change cl-umMenu" onclick="myinfoChangeBtn(this)" id="myinfo-change-btn" data-sid="'+sid+'">' + $.lang[LANG]['manager.site-um.mypage'] + '</a></li>\ 2545 '; 2546 2547 if(checkDomain && check_admin) { 2548 menu_dashboard_str = '\ 2549 <li><a class="dashboard cl-umMenu" href="javascript:;" target="_blank">' + $.lang[LANG]['manager.site-um.dashboard'] + '</a></li>\ 2550 '; 2551 } 2552 2553 if(s_validtype == 'SM') { 2554 var propertySettings = (PAGE_MODE!='c' && typeof property.SETTINGS!='undefined') ? property.SETTINGS : {}, 2555 smSettings = (PAGE_MODE!='c' && typeof property.SMSETTINGS!='undefined') ? property.SMSETTINGS : {}, 2556 point_settings = (PAGE_MODE!='c' && typeof property.POINGSETTINGS!='undefined') ? property.POINGSETTINGS : {}, 2557 point_user = (PAGE_MODE!='c' && typeof point_settings.point_use != 'undefined' && point_settings.point_use) ? point_settings.point_use : '', 2558 coupon_btn_str = (PAGE_MODE!='c' && typeof smSettings.coupon_use_yn != 'undefined' && smSettings.coupon_use_yn=='Y') ? ('<li><a class="coupon cl-umMenu" href="/_coupon">' + $.lang[LANG]['manager.site-um.mypage.coupon'] + '</a></li>') : ''; 2559 point_useStr = (PAGE_MODE!='c' && point_user && point_user=='Y') ? '<li><a class="mypoint cl-umMenu" href="/_point">' + $.lang[LANG]['manager.site-um.mypage.point'] + '</a></li>' : '', 2560 wishlist_btn_str = (typeof propertySettings.product_wishlist_btn != 'undefined' && (propertySettings.product_wishlist_btn=='Y')) ? '<li><a class="mywishlist cl-umMenu" href="/_wishlist">' + $.lang[LANG]['manager.site-um.mypage.wishlistbtn'] + '</a></li>' : ''; 2561 2562 menu_mypage_str = (check_admin) ? '' : '\ 2563 <li><a class="myorderlist cl-umMenu" href="/_mypage">' + $.lang[LANG]['manager.site-um.mypage.orderlist'] + '</a></li>' 2564 + wishlist_btn_str + coupon_btn_str + point_useStr + '\ 2565 <li><a class="mypost cl-umMenu" href="/_mypost">' + $.lang[LANG]['manager.site-um.mypage.post'] + '</a></li>\ 2566 <li><a class="hand myinfo-change cl-umMenu" href="javascript:;" onclick="myinfoChangeBtn(this)" id="myinfo-change-btn" data-sid="'+sid+'">' + $.lang[LANG]['manager.site-um.mypage'] + '</a></li>\ 2567 '; 2568 } 2569 2570 var menu_str = menu_dashboard_str + menu_member_str + menu_mygabia_str + menu_mypage_str, 2571 content = (!check_login) ? '<li class="siteUM"><a class="' + display + '" href="javascript:;"><span class="glyphicon glyphicon-user"></span> ' + str + '</a></li>' : '\ 2572 <li class="siteUM dropdown">\ 2573 <a href="javascript:;" class="dropdown-toggle">' + login_nick + ' <i class="' + caret + '" aria-hidden="true"></i></a>\ 2574 <ul class="dropdown-menu">\ 2575 ' + menu_str + '\ 2576 <li><a class="logout" href="javascript:;">' + $.lang[LANG]['manager.site-um.logout'] + '</a></li>\ 2577 </ul>\ 2578 </li>\ 2579 ', 2580 mobile_content = (!check_login) ? '<div class="siteUM micon"><a class="' + display + '" href="javascript:;"><i class="cl-icon cl_icon_profile" aria-hidden="true"></i></a></div>' : '\ 2581 <div class="siteUM micon dropdown">\ 2582 <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" data-target=".siteUM-dmenu-wrap"><i class="cl-icon cl_icon_profile" aria-hidden="true"></i></a>\ 2583 </div>\ 2584 ', 2585 mobile_dropdown_menu = '\ 2586 <div class="siteUM-dmenu-wrap">\ 2587 <!--<span class="dropdown-close"><span class="icon-bar"></span><span class="icon-bar"></span></span>-->\ 2588 <ul class="dropdown-menu">\ 2589 ' + menu_str + '\ 2590 <li><a class="logout" href="javascript:;">' + $.lang[LANG]['manager.site-um.logout'] + '</a></li>\ 2591 </ul>\ 2592 </div>\ 2593 '; 2594 2595 if(check_id_type == 'creatorlink' && !check_admin && login_id) { //creatorlink member 2596 var mypage_url = (s_service.indexOf('gabia') > -1) ? '//www.gabia.com/mygabia/service' : '//'+host_url+'/mypage', 2597 mypage_name = (s_service.indexOf('gabia') > -1) ? $.lang[LANG]['manager.site-um.mypage.gabia'] : $.lang[LANG]['manager.site-um.mypage']; 2598 2599 content = '\ 2600 <li class="siteUM dropdown">\ 2601 <a href="javascript:;" class="dropdown-toggle">' + login_nick + ' <i class="' + caret + '" aria-hidden="true"></i></a>\ 2602 <ul class="dropdown-menu">\ 2603 <li><a href="' + host_url + '/dashboard" target="_blank" class="cl-umMenu">' + $.lang[LANG]['manager.site-um.dashboard'] + '</a></li>\ 2604 '; 2605 2606 if(!check_uadmin) content +='\ 2607 <li><a href="' + mypage_url + '" target="_blank" class="cl-umMenu">' + mypage_name + '</a></li>\ 2608 '; 2609 content += '\ 2610 <li><a class="logout cl-umMenu" href="javascript:;">' + $.lang[LANG]['manager.site-um.logout'] + '</a></li>\ 2611 </ul>\ 2612 </li>\ 2613 '; 2614 mobile_content = '\ 2615 <div class="siteUM micon dropdown">\ 2616 <a href="javascript:;" class="dropdown-toggle" data-target=".siteUM-dmenu-wrap"><i class="cl-icon cl_icon_profile" aria-hidden="true"></i></a>\ 2617 </div>\ 2618 '; 2619 mobile_dropdown_menu = '\ 2620 <div class="siteUM-dmenu-wrap">\ 2621 <!--<span class="dropdown-close"><span class="icon-bar"></span><span class="icon-bar"></span></span>-->\ 2622 <ul class="dropdown-menu">\ 2623 <li><a href="' + host_url + '/dashboard" target="_blank">' + $.lang[LANG]['manager.site-um.dashboard'] + '</a></li>\ 2624 <li><a href="' + mypage_url + '" target="_blank">' + $.lang[LANG]['manager.site-um.mypage'] + '</a></li>\ 2625 <li><a class="logout" href="javascript:;">' + $.lang[LANG]['manager.site-um.logout'] + '</a></li>\ 2626 </ul>\ 2627 </div>\ 2628 '; 2629 } 2630 2631 2632 // IE ERROR_promise__H.20210603 2633 // var successSiteUMLogin = new Promise(function(resolve, reject) { 2634 var successSiteUMLogin = function() { 2635 var deferred = $.Deferred(); 2636 2637 if($('#tpl-menu').find('.siteUM').length > 0) $('#tpl-menu').find('.siteUM').replaceWith(content); 2638 else { 2639 if($('#tpl-menu').find('.siteLANG').length > 0 ) $('#tpl-menu').find('.siteLANG').before(content); 2640 else $('#tpl-menu').append(content); 2641 } 2642 2643 if($('div.siteUM.micon').length>0) $('div.siteUM.micon').replaceWith(mobile_content); 2644 else $('.el-menu .navbar-toggle').before(mobile_content); 2645 2646 if($('div.siteUM-dmenu-wrap').length>0) $('div.siteUM-dmenu-wrap').replaceWith(mobile_dropdown_menu); 2647 else $('#tpl-menu').parent().after(mobile_dropdown_menu); 2648 2649 var check_slang = (PAGE_MODE == 'c') ? SLANG : property.SLANG; 2650 $('.el-menu .navbar-header div.siteUM.micon').css({
2651 'color': $('.el-menu .navbar-toggle .icon-bar').css('background-color'), 2652 'right': ($.isEmptyObject(check_slang)) ? '56px' : '91px', 2653 }); 2654 2655 // IE ERROR_promise__H.20210603 2656 // resolve(); 2657 // }); 2658 deferred.resolve(); 2659 return deferred.promise(); 2660 } 2661 2662 // IE ERROR_promise__H.20210603 2663 // successSiteUMLogin.then(function(value) { 2664 successSiteUMLogin().then(function(value) { 2665 if(typeof callback == 'function') { 2666 callback(); 2667 } 2668 }); 2669 },'json'); 2670 2671 }, 2672 showMngModal: function(sid, content, id, backdrop, showcallback, showncallback, hiddencallback, callback, closecallback) { 2673 // console.log('umember showMngModal'); 2674 var container = $(content), 2675 backdrop = (typeof backdrop == 'undefined') ? false : true; 2676 2677 $('body').append(container); 2678 var newInstance = jQuery.extend(true, {}, container); 2679 var modalElement = newInstance.find('#' + id); 2680 2681 modalElement.attr('data-sid',sid); 2682 2683 if(backdrop) modalElement.modal({ backdrop : 'static'}); 2684 else modalElement.modal(); 2685 2686 modalElement.on('show.bs.modal', function(e) { 2687 if(typeof showcallback == 'function') showcallback(); 2688 }); 2689 2690 modalElement.on('shown.bs.modal', function(e) { 2691 var modal = document.querySelector('.modal'); 2692 modal.style.position = 'absolute'; 2693 setTimeout(function() { 2694 modal.style.position = 'fixed'; 2695 },0); 2696 if(window.innerWidth <= 768) $.mobileToggleMenu.close(); 2697 if(typeof showncallback == 'function') showncallback(); 2698 }); 2699 2700 modalElement.on('hidden.bs.modal', function(e) { 2701 var flat_modal_id = $(this).attr('id'); 2702 $('.editor-navbar').css('z-index','1040'); 2703 var this_modal = $('#'+flat_modal_id).closest('.flat-modal'); 2704 this_modal.next('.modal-backdrop').remove(); 2705 this_modal.remove(); 2706 2707 if($('.modal-backdrop').length) { 2708 setTimeout(function() { 2709 $('body').addClass('modal-open'); 2710 },10); 2711 } 2712 $('body').removeClass('no-fixed'); 2713 2714 if(typeof hiddencallback == "function") hiddencallback(); 2715 }); 2716 2717 newInstance.find('.ok-button-dialog').bind('click', function () { 2718 if(typeof callback == 'function') 2719 callback(); 2720 }); 2721 2722 newInstance.find('.close-button-dialog').bind('click', function () { 2723 if(typeof closecallback == 'function') 2724 closecallback(); 2725 }); 2726 2727 return modalElement; 2728 }, 2729 showJoinModal: function(sid,mode) { 2730 console.log('umember showJoinModal'); 2731 mode = (typeof mode != 'undefined' && mode) ? '-' + mode : ''; 2732 2733 if($('#join-modal' + mode).length > 0) return false; 2734 if($('#login-modal').length > 0) $('#login-modal').delay(3000).modal('hide'); 2735 2736 $.post('/umember/get/type/join', { sid : sid, field : '*' }, function(data) { 2737 if(typeof data.error != 'undefined' && data.error) { 2738 alert(data.error); 2739 return false; 2740 } 2741 2742 COLLECTION_REGEX = $.parseJSON(data['regExp']); 2743 2744 var content = $.umember.makeJoinModalContent(sid,data,mode); 2745 $.umember.showMngModal(sid, content, 'join-modal' + mode, false, 2746 function() { $.umember.joinModalInit(mode); }, 2747 function() { $.umember.joinModalKeyFunc(mode); }, '', '', ''); 2748 2749 }, 'json'); 2750 }, 2751 makeJoinCollectionsTypeVal: function(oval_i,oval_type,oval_v,org_field,optional_class,check_page,val) { 2752 var str = ''; 2753 2754 check_page = (typeof check_page != 'undefined' && check_page) ? check_page : ''; 2755 val = (typeof val != 'undefined' && val) ? val : ''; 2756 switch (oval_type) { 2757 case 'memo': 2758 str += '\ 2759 <textarea class="cl-s-form-control" name="'+org_field+'" cols="120" rows="10" id="cl-etc-input-val-memo">'+oval_v+'</textarea>\ 2760 '; 2761 break; 2762 case 'radio': 2763 var oval_checked = ((check_page=='mypage') && (oval_v==val)) ? 'checked' : ''; 2764 str += '\ 2765 <div class="newcheckbox">\ 2766 <label>\ 2767 <div class="newcheckboxSvgRadio">\ 2768 <input type="radio" class="cl-common-form-radio-hide cl-etc-input-val cl-s-form-control" name="'+org_field+'" value="'+oval_v+'" '+oval_checked+'>\ 2769 <svg viewBox="0 0 18 18" width="18" height="18">\ 2770 <path d="M9 0C4.03 0 0 4.03 0 9c0 4.97 4.03 9 9 9s9-4.03 9-9C18 4.03 13.97 0 9 0zM9 17c-4.41 0-8-3.59-8-8
27700-4.41 3.59-8 8-8s8 3.59 8 8C17 13.41 13.41 17 9 17z"/>\ 2771 </svg>\ 2772 <svg class="active" viewBox="0 0 18 18" width="18" height="18">\ 2773 <path d="M9 0C4.03 0 0 4.03 0 9c0 4.97 4.03 9 9 9s9-4.03 9-9C18 4.03 13.97 0 9 0zM9 17c-4.41 0-8-3.59-8-8 0-4.41 3.59-8 8-8s8 3.59 8 8C17 13.41 13.41 17 9 17z"/>\ 2774 <circle cx="9" cy="9" r="6"/>\ 2775 </svg>\ 2776 </div>\ 2777 <span>'+oval_v+'</span>\ 2778 </label>\ 2779 </div>\ 2780 '; 2781 2782 break; 2783 2784 case 'check': 2785 var oval_checked = ((check_page=='mypage') && (oval_v==val)) ? 'checked' : ''; 2786 if(check_page=='mypage' && (val.indexOf('`') > -1)) { 2787 if(val.indexOf(oval_v) > -1) { 2788 oval_checked = 'checked'; 2789 } 2790 } 2791 str += '\ 2792 <div class="newcheckbox">\ 2793 <label>\ 2794 <div class="newcheckboxSvg">\ 2795 <input type="checkbox" class="cl-common-form-radio-hide cl-etc-input-val cl-s-form-control" id="" name="'+org_field+'" value="'+oval_v+'" '+oval_checked+'>\ 2796 <svg viewBox="0 0 16 16" width="16" height="16">\ 2797 <path class="st6" d="M3 0h10c1.66 0 3 1.34 3 3v10c0 1.66-1.34 3-3 3H3c-1.66 0-3-1.34-3-3V3C0 1.34 1.34 0 3 0z"></path>\ 2798 <path class="st19" d="M13 1c1.1 0 2 0.9 2 2v10c0 1.1-0.9 2-2 2H3c-1.1 0-2-0.9-2-2V3c0-1.1 0.9-2 2-2H13M13 0H3C1.34 0 0 1.34 0 3v10c0 1.66 1.34 3 3 3h10c1.66 0 3-1.34 3-3V3C16 1.34 14.66 0 13 0L13 0z"></path>\ 2799 </svg>\ 2800 <svg class="active" viewBox="0 0 16 16" width="16" height="16">\ 2801 <rect x="2" y="2" class="st6" width="12" height="12"></rect>\ 2802 <path class="st19" d="M13 0H3C1.34 0 0 1.34 0 3v10c0 1.66 1.34 3 3 3h10c1.66 0 3-1.34 3-3V3C16 1.34 14.66 0 13 0zM13.03 6.03l-5.5 5.5C7.38 11.68 7.19 11.75 7 11.75s-0.38-0.07-0.53-0.22l-3.5-3.5c-0.29-0.29-0.29-0.77 0-1.06s0.77-0.29 1.06 0L7 9.94l4.97-4.97c0.29-0.29 0.77-0.29 1.06 0S13.32 5.74 13.03 6.03z"></path>\ 2803 </svg>\ 2804 </div>\ 2805 <span>'+oval_v+'</span>\ 2806 </label>\ 2807 </div>\ 2808 '; 2809 2810 break; 2811 2812 case 'select': 2813 var selected = ((check_page=='mypage') && (oval_v==val)) ? 'selected' : ''; 2814 str += '\ 2815 <option value="'+oval_v+'" '+selected+'>'+oval_v+'</option>\ 2816 '; 2817 2818 break; 2819 case 'fupload': 2820 // todo ë°ì´í° ìì ì²´í¬ 2821 str += $.umember.fileHtmlRender(org_field, { 2822 val : val, 2823 type : "type1", 2824 }) 2825 break; 2826 default: 2827 break; 2828 } 2829 if(org_field=='etc7') { 2830 console.log(oval_v); 2831 } 2832 return str; 2833 2834 }, 2835 makeJoinConditionsStr: function(sid,data,key,mode) { 2836 // console.log('umember makeJoinConditionsStr'); 2837 switch(key) { 2838 case 'captcha' : 2839 return ` 2840 <div class="kcaptcha-wrap clearfix ${(data['captcha'] == '1') ? '' : 'hide'}"> 2841 <div class="col-xs-4 col-sm-4 col-md-4 no-padding kcaptcha-box"> 2842 <p id="write_option"><img src="" id="kcaptcha" alt=""/></p> 2843 </div> 2844 <div class="col-xs-8 col-sm-8 col-md-8 text-left kcaptcha-key-wrap"> 2845 <input type="text" id="wr_key" name="wr_key" class="col-xs-12 col-sm-12 col-md-12 ed" placeholder="${$.lang[LANG]['manager.join.cl.captcha-msg']}" /> 2846 <a class="kcaptcha-change hand small">${$.lang[LANG]['manager.join.cl.captcha-change']}</a> 2847 </div> 2848 </div> 2849 `; 2850 break; 2851 2852 case 'collections': 2853 var collections_html = ''; 2854 $.each(data['collections'], function(field,o) { 2855 if(field == 'email') return; 2856 if(o['used']) { 2857 var org_field = (field == 'addr') ? field + '1' : field, 2858 optional = o['optional'], 2859 name = (o['name']) ? o['name'] : $.lang[LANG]['manager.list.info.'+org_field], 2860 optional_class = (optional) ? 'optional' : '', 2861 key_func = '', 2862 add_input = '', 2863 jcollection_val_str = '', 2864 fupload_label = '', 2865 etc_val_type = ['memo','radio','check','select','fupload']; 2866 2867 if(field == 'birth') { 2868 name = $.lang[LANG]['siteum.mypage.Birth']; 2869 key_func = 'onkeyup="auto_date_format(event, this)" onkeypress="auto_date_format(event, this)"'; 2870 key_func = 'onkeydown="auto_date_format(event, this)"'; 2871 } 2872 2873 var star = (optional) ? '<span class="input-star">*</span>' : ''; 2874 if(field.indexOf('etc')>-1 && etc_val_type.includes(o['type'])) { 2875 var o_val = o['val'], 2876 o_val_arr = ((o_val.indexOf('`') > -1) && (o['type']=='radio' || o['type']=='check' || o['type']=='select'|| o['type']=='fupload')) ? o_val.split('`') : [o_val], 2877 description_class = (o['description_used']=='true' && (o['type']=='memo')) ? 'use_descr' : ''; 2878 2879 add_input = '\ 2880 <div class="cl-s-join-collections-etcwrap cl-s-form-wrap '+(o['type']=='fupload' ? 'nodata' : '') +' '+ optional_class + '" data-jcoltype="'+o['type']+'">'; 2881 add_input += '\ 2882 <div class="cl-s-etc">\ 2883 <span class="cl-s-etc-name">'+ name + star +'</span>\ 2884 '; 2885 add_input += (o['description_used']=='true') ? '<span class="cl-s-etc-description">'+ o['description'] +'</span>' : ''; 2886 add_input += '\ 2887 </div>\ 2888 '; 2889 2890 add_input += '\ 2891 <div class="cl-s-etc-val '+description_class+'">\ 2892 '; 2893 2894 // /*ë¼ë²¨ ìì <input type="text" class="hide" value=""> ì´ê±° ììì*/ 2895 // if(o['type']=='fupload') { // JH 2896 // add_input += $.umember.fileHtmlRender('join', { 2897 // orgfield : org_field 2898 // }) 2899 2900 // } 2901 if(o['type']=='select') { 2902 add_input += '\ 2903 <div class="cl-s-form-group cl-s-form-group-select">\ 2904 <select class="cl-s-form-control" name="'+org_field+'" id="input-' + org_field + '" required="required">\ 2905 <option value="">'+$.lang[LANG]['manager.list.info.gender.select']+'</option>\ 2906 '; 2907 } 2908 if(o_val_arr.length > 0) { 2909 $.each(o_val_arr, function(oval_i,oval_v){ 2910 jcollection_val_str += $.umember.makeJoinCollectionsTypeVal(oval_i,o['type'],oval_v,org_field,optional_class); 2911 }); 2912 } 2913 2914 if(o['type']=='select') { 2915 jcollection_val_str += '\ 2916 </select>\ 2917 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 4" width="8" height="4"><path d="m0 0 4 4 4-4z"/></svg>\ 2918 </div>\ 2919 '; 2920 } 2921 jcollection_val_str += '</div></div>'; 2922 2923 } else { 2924 add_input = '\ 2925 <div class="cl-s-form-wrap ' + optional_class + '">\ 2926 <div class="cl-s-form-group">\ 2927 <input type="text" class="cl-s-form-control" name="'+org_field+'" id="input-' + org_field + '" required="required" value="" ' + key_func + '>\ 2928 <label for="input" class="cl-s-control-label">' + name + star + '</label>\ 2929 </div>\ 2930 </div>\ 2931 '; 2932 2933 if(field == 'addr') { 2934 var addr_modal = (mode.indexOf('shopping') > -1 || o['addrsearch']) ? 'readonly onfocus="addrSearchModal(\'input\')" ' : ''; 2935 add_input = '\ 2936 <div class="cl-s-form-wrap ' + optional_class + '">\ 2937 <div class="cl-s-form-group">\ 2938 <input type="hidden" class="cl-s-form-control" name="postcode" id="input-postcode" value="">\ 2939 <input type="text" class="cl-s-form-control" name="'+org_field+'" id="input-' + org_field + '" required="required" value="" ' + addr_modal + '>\ 2940 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['manager.list.info.addr1'] + star + '</label>\ 2941 </div>\ 2942 </div>\ 2943 <div class="cl-s-form-wrap">\ 2944 <div class="cl-s-form-group">\ 2945 <input type="text" class="cl-s-form-control" name="addr2" id="input-addr2" required="required" value="">\ 2946 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['manager.list.info.addr2'] + '</label>\ 2947 </div>\ 2948 </div>\ 2949 '; 2950 } 2951 2952 if(field == 'gender') { 2953 add_input = '\ 2954 <div class="cl-s-form-wrap ' + optional_class + '">\ 2955 <div class="cl-s-form-group">\ 2956 <select class="cl-s-form-control" name="'+org_field+'" id="input-' + org_field + '" required="required">\ 2957 <option value="">'+$.lang[LANG]['manager.list.info.gender.select']+'</option>\ 2958 <option value="01">'+$.lang[LANG]['manager.list.info.gender.01']+'</option>\ 2959 <option value="02">'+$.lang[LANG]['manager.list.info.gender.02']+'</option>\ 2960 </select>\ 2961 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 4" width="8" height="4"><path d="m0 0 4 4 4-4z"/></svg>\ 2962 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['manager.list.info.gender'] + star + '</label>\ 2963 </div>\ 2964 </div>\ 2965 '; 2966 } 2967 2968 //if(mode == 'shopping_social' && !optional) add_input = ''; 2969 if(mode == 'shopping_social' && !o['used']) add_input = ''; 2970 2971 2972 if(mode.indexOf('cert') > -1) { 2973 switch (field) { 2974 case 'name': 2975 case 'gender': 2976 case 'birth': 2977 case 'tel': 2978 add_input = '<input id="input-' + org_field + '" type="hidden" name="' + org_field + '" value="">'; 2979 break; 2980 } 2981 } 2982 } 2983 2984 collections_html += add_input + jcollection_val_str; 2985 2986 } 2987 }); 2988 return collections_html; 2989 break; 2990 2991 default: 2992 return data[key]; 2993 break; 2994 } 2995 2996 }, 2997 makeJoinModalContent: function(sid,data,mode) { 2998 // console.log('umember makeJoinModalContent'); 2999 if(PAGE_MODE == 's') { // ê²ìì¬ì´í¸ ë¤êµì´ íìê°ì íì´ì§ íê¸ê³¼ ì
2999ì¬ëì¤ë ë¶ë¶ ë°©ì§ 3000 if(property.SLANG.select_code == undefined) { 3001 LANG = 'ko'; 3002 } else { 3003 if(property.SLANG.select_code == 'ko') LANG = 'ko'; 3004 else LANG = 'en'; 3005 } 3006 } 3007 var collections = $.umember.makeJoinConditionsStr(sid,data,'collections',mode), 3008 captcha = $.umember.makeJoinConditionsStr(sid,data,'captcha',mode), 3009 privacy_type = (LANG == 'ko') ? 'privacy-join' : 'privacy', 3010 approval = (typeof data.approval != 'undefined' && data.approval) ? data.approval : 'hand', 3011 mode2 = data.mode2; 3012 3013 var sns_input = (mode == 'shopping_social' || (mode == 'shopping_cert' && mode2 == 'shopping_sns')) ? 'readonly="true"' : '', 3014 content = '\ 3015 <div class="cl-s-form-wrap optional">\ 3016 <div class="cl-s-form-group">\ 3017 <input type="text" class="cl-s-form-control" name="email" id="input-email" required="required" value="" '+sns_input+'>\ 3018 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['siteum.login.email'] + '<span class="input-star">*</span></label>\ 3019 </div>\ 3020 </div>\ 3021 '; 3022 3023 if(mode == 'shopping_social' || (mode == 'shopping_cert' && mode2 == 'shopping_sns')) { 3024 content += collections; 3025 var register_form_arr = { 3026 'content' : content 3027 } 3028 } else { 3029 content += '\ 3030 <div class="cl-s-form-wrap optional">\ 3031 <div class="cl-s-form-group">\ 3032 <input type="password" class="cl-s-form-control" name="password" id="input-password" required="required" value="">\ 3033 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['siteum.login.password'] + '<span class="input-star">*</span></label>\ 3034 </div>\ 3035 </div>\ 3036 <div class="cl-s-form-wrap optional">\ 3037 <div class="cl-s-form-group">\ 3038 <input type="password" class="cl-s-form-control" name="password_checked" id="input-password-checked" required="required" value="">\ 3039 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['siteum.login.password-check'] + '<span class="input-star">*</span></label>\ 3040 </div>\ 3041 </div>\ 3042 <div class="cl-s-form-description">' + $.lang[LANG]['siteum.login.password.description'] + '</div>\ 3043 ' + collections + '\ 3044 '; 3045 var register_form_arr = { 3046 'content' : content, 3047 'captcha' : captcha 3048 } 3049 } 3050 return register_form_arr; 3051 }, 3052 joinModalInit: function(mode) { 3053 // console.log('umember joinModalInit'); 3054 mode = (mode) ? '-' + mode : ''; 3055 var joinModal = $('#join-modal' + mode); 3056 3057 joinModal.find('.form-group').each(function() { 3058 $(this).removeClass('focus'); 3059 $(this).find('.error').remove(); 3060 $(this).find('input.form-control').val(''); 3061 $(this).find('#join-textarea').html(''); 3062 }); 3063 3064 joinModal.find('#wr_key').val(''); 3065 }, 3066 joinModalKeyFunc: function(mode) { 3067 // console.log('umember joinModalKeyFunc'); 3068 mode = (mode) ? '-' + mode : ''; 3069 var joinModal = $('#join-modal' + mode); 3070 3071 if(!joinModal.find('.kcaptcha-wrap').hasClass('hide')) { 3072 load_kcaptcha(); 3073 joinModal.find('#wr_key').live({ 3074 keyup: function() { 3075 if($(this).val().trim().length > 0) { $(this).next('.error').remove(); } 3076 } 3077 }); 3078 } 3079 3080 joinModal.find('input.form-control').live({ 3081 focus: function() { 3082 $(this).closest('.form-group').addClass('focus').siblings().removeClass('focus'); 3083 }, 3084 blur: function() { 3085 $(this).closest('.form-group').removeClass('focus'); 3086 }, 3087 keydown: function(key) { 3088 if(key.keyCode == 13) $('#uJoin').click(); 3089 }, 3090 keyup: function() { 3091 var groupEl = $(this).closest('.form-group'), 3092 errorEL = $(this).next().next('.error'), 3093 field = $(this).attr('id').trim().replace(/input-/,''), 3094 reg_has = (typeof COLLECTION_REGEX[field] != 'undefined' && COLLECTION_REGEX[field]) ? true : false, 3095 reg_pattern = (reg_has) ? COLLECTION_REGEX[field]['pattern_j'] : '', 3096 reg_ex = (reg_has) ? COLLECTION_REGEX[field]['ex'] : ''; 3097 3098 if(field=='password' || field == 'password-checked') { 3099 var pwEl = joinModal.find('#input-password'), 3100 pw2El = joinModal.find('#input-password-checked'), 3101 error_str = $.lang[LANG]['siteum.regexp.pw.invalid']; 3102 3103 if(pwEl.val() == pw2El.val()) { 3104 pw2El.next().next('.error').remove(); 3105 } else { 3106 if(pw2El.val().length > 0) { 3107 if(pw2El.next().next('.error').length > 0) pw2El.next().next('.error').removeClass('empty').text(error_str); 3108 else pw2El.closest('.form-group').append('<span class="error">'+ error_str + '</span>'); 3109 } 3110 } 3111 } 3112 3113 if(reg_has && errorEL.length > 0) { 3114 3115 var reg = new RegExp(reg_pattern); 3116 if(reg.test($(this).val())) errorEL.remove(); 3117 else { 3118 if(errorEL.hasClass('empty')) errorEL.removeClass('empty').text(reg_ex); 3119 } 3120 3121 } 3122 3123 } 3124 }); 3125 }, 3126 showLoginModal: function(sid) { 3127 // console.log('umember showLoginModal'); 3128 if($('#join-modal').length > 0 ) $('#join-modal').delay(3000).modal('hide'); 3129 if($('#forgotpw-modal').length > 0 ) $('#forgotpw-modal').delay(3000).modal('hide'); 3130 3131 var content = $.umember.makeLoginModalContent(); 3132 $.umember.showMngModal(sid, content, 'login-modal', false, 3133 function() { $.umember.LoginModalInit(); }, 3134 function() { $.umember.loginModalKeyFunc(); }, '', '', ''); 3135 }, 3136 makeLoginModalContent: function() { 3137 // console.log('umember makeLoginModalContent'); 3138 var s_um = (PAGE_MODE == 'c') ? SITEUM : property.SITEUM, 3139 join_btn = (s_um == 1) ? '' : '<div class="btn-join siteUM"><span class="join hand">' + $.lang[LANG]['manager.site-um.join.3'] + '</span></div>', 3140 privacy_type = (LANG == 'ko') ? 'privacy-join' : 'privacy'; 3141 3142 var loginModal_html = '\ 3143 <div class="flat-modal mng-login-modal mng-siteUM-modal">\ 3144 <div class="modal modal-default fade" id="login-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">\ 3145 <div class="modal-dialog" role="document">\ 3146 <div class="modal-content">\ 3147 <div class="modal-header">\ 3148 <button type="button" class="close" data-dismiss="modal" aria-label="Close">\ 3149 <span aria-hidden="true"><img src="https://storage.googleapis.com/i.addblock.net/fa-close-siteUM-modal.png" alt="close"></span>\ 3150 </button>\ 3151 <h5 class="modal-title" id="exampleModalLabel">' + $.lang[LANG]['header.login'] + '</h5>\ 3152 </div>\ 3153 <div class="modal-body">\ 3154 <span class="form-group optional initial">\ 3155 <input class="form-control" type="text" id="input-id" placeholder="' + $.lang[LANG]['siteum.login.id'] + '"/>\ 3156 <label for="input-id">\ 3157 <i class="fa fa-asterisk"></i>\ 3158 <span>id</span>\ 3159 </label>\ 3160 </span>\ 3161 <span class="form-group optional initial">\ 3162 <input class="form-control" type="password" id="input-password" placeholder="' + $.lang[LANG]['siteum.login.password'] + '"/>\ 3163 <label for="input-password">\ 3164 <i class="fa fa-asterisk"></i>\ 3165 <span>password</span>\ 3166 </label>\ 3167 </span>\ 3168 </div>\ 3169 <div class="modal-footer">\ 3170 <button type="button" class="btn btn-primary" id="uLogin">' + $.lang[LANG]['manager.site-um.login'] + '</button>\ 3171 ' + join_btn + '\ 3172 <p class="modal-change-wrap siteUM"><span class="forgot-pw hand">' + $.lang[LANG]['siteum.forgot.id-pw'] + '</span></p>\ 3173 </div>\ 3174 </div>\ 3175 </div>\ 3176 </div>\ 3177 </div>\ 3178 '; 3179 3180 3181 return loginModal_html; 3182 }, 3183 loginModalInit: function(mode) { 3184 mode = (mode) ? '-' + mode : ''; 3185 var loginModal = $('#login-modal'+mode); 3186 3187 loginModal.find('.form-group').each(function() { 3188 $(this).removeClass('focus'); 3189 $(this).find('.error').remove(); 3190 $(this).find('input.form-control').val(''); 3191 }); 3192 }, 3193 loginModalKeyFunc: function(mode) { 3194 mode = (mode) ? '-' + mode : ''; 3195 var loginModal = $('#login-modal'+mode); 3196 3197 loginModal.find('input.form-control').live({ 3198 focus: function(e) { $(this).closest('.form-group').addClass('focus').siblings().removeClass('focus'); }, 3199 blur: function(e) { $(this).closest('.form-group').removeClass('focus'); }, 3200 keydown: function(e) { 3201 if($('.dsgn-body').hasClass('mobile-nav-active')) $('.el-menu header.n
3201avbar-fheader .navbar-toggle').click(); 3202 if(e.keyCode == 13) $('#uLogin').click(); 3203 }, 3204 keyup: function(e) { 3205 var groupEl = $(this).closest('.form-group'), 3206 errorEL = $(this).next().next('.error'); 3207 if($(this).val().length > 0) errorEL.remove(); 3208 } 3209 }); 3210 }, 3211 showForgotIDModal: function(sid) { 3212 if($('#forgotpw-modal').length > 0 ) $('#forgotpw-modal').delay(3000).modal('hide'); 3213 3214 var content = $.umember.makeForgotIDModalContent(); 3215 $.umember.showMngModal(sid, content, 'forgotid-modal', false, function() { 3216 $('#forgotid-modal').find('.error').remove(); 3217 $('#forgotid-modal').find('input.form-control').val(''); 3218 $('#forgotid-modal .modal-body').children().removeAttr('style'); 3219 $('#forgotid-modal .modal-footer').children('button').removeAttr('style'); 3220 $('#forgotid-modal').find('.forgot-id-result').text(''); 3221 }, function() { 3222 $('#forgotid-modal').find('input.form-control').live({ 3223 keydown: function(key) { if(key.keyCode == 13) $('#uForgotID').click(); }, 3224 keyup: function() { 3225 $('#forgotid-modal .modal-body').children().removeAttr('style'); 3226 $('#forgotid-modal .modal-footer').children('button').removeAttr('style'); 3227 $('#forgotid-modal').find('.forgot-id-result').text(''); 3228 var regexp = /^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/i, 3229 errorEL = $(this).closest('.form-group').find('.error'); 3230 3231 if(!regexp.test($(this).val())) errorEL.text($.lang[LANG]['siteum.regexp.check.email']); 3232 else errorEL.remove(); 3233 } 3234 }); 3235 }, '', '', ''); 3236 }, 3237 makeForgotIDModalContent: function() { 3238 var forgotIDModal_html = '\ 3239 <div class="flat-modal mng-forgotid-modal mng-siteUM-modal">\ 3240 <div class="modal modal-default fade" id="forgotid-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">\ 3241 <div class="modal-dialog" role="document">\ 3242 <div class="modal-content">\ 3243 <div class="modal-header">\ 3244 <button type="button" class="close" data-dismiss="modal" aria-label="Close">\ 3245 <span aria-hidden="true"><img src="https://storage.googleapis.com/i.addblock.net/fa-close-siteUM-modal.png" alt="close"></span>\ 3246 </button>\ 3247 <h5 class="modal-title" id="exampleModalLabel">' + $.lang[LANG]['siteum.forgot.id.link'] + '</h5>\ 3248 </div>\ 3249 <div class="modal-body">\ 3250 <div>' + $.lang[LANG]['siteum.forgot.id.description'] + '</div>\ 3251 <span class="form-group">\ 3252 <input class="form-control" type="text" id="input-email" placeholder="' + $.lang[LANG]['siteum.forgot.pw.input-email'] + '"/>\ 3253 </span>\ 3254 <div class="forgot-id-result"></div>\ 3255 </div>\ 3256 <div class="modal-footer">\ 3257 <button type="button" class="btn btn-primary" id="uForgotID">' + $.lang[LANG]['siteum.forgot.id.btn'] + '</button>\ 3258 <p class="modal-change-wrap siteUM"> <span class="forgot-pw hand">' + $.lang[LANG]['siteum.forgot.pw.link'] + '</span></p>\ 3259 <p class="modal-change-wrap siteUM"> <span class="login hand">' + $.lang[LANG]['manager.site-um.login'] + '</span></p>\ 3260 </div>\ 3261 </div>\ 3262 </div>\ 3263 </div>\ 3264 </div>\ 3265 '; 3266 3267 return forgotIDModal_html; 3268 }, 3269 showForgotPWModal: function(sid) { 3270 if($('#login-modal').length > 0 ) $('#login-modal').delay(3000).modal('hide'); 3271 if($('#forgotid-modal').length > 0 ) $('#forgotid-modal').delay(3000).modal('hide'); 3272 3273 var content = $.umember.makeForgotPWModalContent(); 3274 $.umember.showMngModal(sid, content, 'forgotpw-modal', false, function() { 3275 $('#forgotpw-modal').find('.focus').removeClass('focus'); 3276 $('#forgotpw-modal').find('.error').remove(); 3277 $('#forgotpw-modal').find('input.form-control').val(''); 3278 }, function() { 3279 $('#forgotpw-modal').find('input.form-control').live({ 3280 foucs: function() { $(this).closest('.form-group').addClass('focus').siblings().removeClass('focus'); }, 3281 blur: function() { $(this).closest('.form-group').removeClass('focus'); }, 3282 keydown: function(key) { if(key.keyCode == 13) $('#uForgotPW').click(); }, 3283 keyup: function() { 3284 var regexp = /^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/i, 3285 field = $(this).attr('id').trim().replace(/input-/,''), 3286 errorEL = $(this).closest('.form-group').find('.error'); 3287 3288 if(field == 'email' && !regexp.test($(this).val())) errorEL.text($.lang[LANG]['siteum.regexp.check.email']); 3289 else errorEL.remove(); 3290 } 3291 }); 3292 }, '', '', ''); 3293 }, 3294 makeForgotPWModalContent: function() { 3295 var forgotPWModal_html = '\ 3296 <div class="flat-modal mng-forgotpw-modal mng-siteUM-modal">\ 3297 <div class="modal modal-default fade" id="forgotpw-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">\ 3298 <div class="modal-dialog" role="document">\ 3299 <div class="modal-content">\ 3300 <div class="modal-header">\ 3301 <button type="button" class="close" data-dismiss="modal" aria-label="Close">\ 3302 <span aria-hidden="true"><img src="https://storage.googleapis.com/i.addblock.net/fa-close-siteUM-modal.png" alt="close"></span>\ 3303 </button>\ 3304 <h5 class="modal-title" id="exampleModalLabel">' + $.lang[LANG]['siteum.forgot.pw.title'] + '</h5>\ 3305 </div>\ 3306 <div class="modal-body">\ 3307 <div>' + $.lang[LANG]['siteum.forgot.pw.description'] + '</div>\ 3308 <span class="form-group">\ 3309 <input class="form-control" type="text" id="input-id" placeholder="' + $.lang[LANG]['manager.list.info.id'] + '"/>\ 3310 </span>\ 3311 <span class="form-group">\ 3312 <input class="form-control" type="text" id="input-email" placeholder="' + $.lang[LANG]['siteum.forgot.pw.input-email'] + '"/>\ 3313 </span>\ 3314 </div>\ 3315 <div class="modal-footer">\ 3316 <button type="button" class="btn btn-primary" id="uForgotPW">' + $.lang[LANG]['siteum.forgot.pw.btn'] + '</button>\ 3317 <p class="modal-change-wrap siteUM"> <span class="forgot-id hand">' + $.lang[LANG]['siteum.forgot.id.link'] + '</span></p>\ 3318 <p class="modal-change-wrap siteUM"> <span class="login hand">' + $.lang[LANG]['manager.site-um.login'] + '</span></p>\ 3319 </div>\ 3320 </div>\ 3321 </div>\ 3322 </div>\ 3323 </div>\ 3324 '; 3325 3326 return forgotPWModal_html; 3327 }, 3328 showMypageModal: function(sid) { 3329 if($('.mng-siteUM-modal').length > 0 ) $('.mng-siteUM-modal').children().first().modal('hide'); 3330 3331 $.getJSON('/umember/get/type/mypage', function(data) { 3332 if(typeof data.error != 'undefined' && data.error) { 3333 alert(data.error); 3334 return false;
3335 } 3336 // COLLECTION_REGEX = $.parseJSON(data['regExp']); 3337 COLLECTION_REGEX = data['regExp']; 3338 3339 var content = $.umember.makeMypageContent(sid,data,''); 3340 $('body').find('.dsgn-body').append('<link rel="stylesheet" href="/css/manager.css" type="text/css" class="manager_css">'); 3341 $.umember.showMngModal(sid, content, 'mypage-modal', false, 3342 function() { }, 3343 function() { }, 3344 function() { $('body .dsgn-body').find('link.manager_css').remove(); }, '', ''); 3345 }); 3346 }, 3347 3348 makeMypageConditionsStr: function(sid,data,mode,cert) { 3349 if(typeof cert === 'undefined' || !cert) cert = 'N'; 3350 3351 var collections = '', 3352 make_pass = ['sid', 'no', 'id', 'image', 'regExp', 'cert', 'cert_date', 'cert_adult', 'cert_adult_date','sm_addr']; 3353 3354 $.each(data, function(field,o) { 3355 if (field != 'um_sns_key') { 3356 if($.inArray(field,make_pass) == -1) { 3357 var name = (o['name']) ? o['name'] : $.lang[LANG]['manager.list.info.'+field], 3358 optional = (o['optional']) ? o['optional'] : false, 3359 optional_class = (optional) ? 'optional' : '', 3360 prev_val = (field == 'email' || field == 'nick') ? 'data-prev="' + o['value'] + '"' : '', 3361 etc_val_type = ['memo','radio','check','select','fupload'], 3362 cl_val_str = '', 3363 add_input = '', 3364 jcollection_val_str = ''; 3365 // ê°ê²°íê² ì¼í ì°ì°ìë¡ ë¦¬í©í ë§ 3366 3367 var filecount_data = o['type'] === 'fupload' && o['value'] ? 'isdata' : o['type'] === 'fupload' ? 'nodata' : ''; 3368 3369 var star = (optional) ? '<span class="input-star">*</span>' : ''; 3370 if(field.indexOf('etc')>-1 && etc_val_type.includes(o['type'])) { 3371 var o_val = o['value'], 3372 o_val_arr = ((o['jcol_val'].indexOf('`') > -1) && (o['type']=='radio' || o['type']=='check' || o['type']=='select')) ? o['jcol_val'].split('`') : [o_val], 3373 description_class = (o['description_used']=='true' && (o['type']=='memo')) ? 'use_descr' : ''; 3374 3375 add_input = '\ 3376 <div class="cl-s-join-collections-etcwrap cl-s-form-wrap '+filecount_data+' '+ optional_class + '" data-jcoltype="'+o['type']+'">'; 3377 3378 var text_class = (o_val && (o['type']=='memo')) ? 'textarea-active' : ''; 3379 add_input += '\ 3380 <div class="cl-s-etc '+text_class+'">\ 3381 <span class="cl-s-etc-name">'+ name + star +'</span>\ 3382 '; 3383 add_input += (o['description_used']=='true') ? '<span class="cl-s-etc-description">'+ o['description'] +'</span>' : ''; 3384 add_input += '\ 3385 </div>\ 3386 '; 3387 3388 add_input += '\ 3389 <div class="cl-s-etc-val '+description_class+'">\ 3390 '; 3391 3392 if(o['type']=='select') { 3393 add_input += '\ 3394 <div class="cl-s-form-group cl-s-form-group-select">\ 3395 <select class="cl-s-form-control" name="'+field+'" id="input-' + field + '" required="required">\ 3396 <option value="">'+$.lang[LANG]['manager.list.info.gender.select']+'</option>\ 3397 '; 3398 } 3399 if(o_val_arr.length > 0) { 3400 $.each(o_val_arr, function(oval_i,oval_v){ 3401 jcollection_val_str += $.umember.makeJoinCollectionsTypeVal(oval_i,o['type'],oval_v,field,optional_class,'mypage',o_val); 3402 }); 3403 } 3404 3405 if(o['type']=='select') { 3406 jcollection_val_str += '\ 3407 </select>\ 3408 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 4" width="8" height="4"><path d="m0 0 4 4 4-4z"/></svg>\ 3409 </div>\ 3410 '; 3411 } 3412 jcollection_val_str += '</div></div>'; 3413 3414 } else { 3415 add_input += '\ 3416 <div class="cl-s-form-wrap ' + optional_class + '">\ 3417 <div class="cl-s-form-group">\ 3418 <input type="text" class="cl-s-form-control" name="'+field+'" id="input-' + field + '" required="required" value="' + o['value'] + '" ' + prev_val + '>\ 3419 <label for="input" class="cl-s-control-label">' + name + star + '</label>\ 3420 </div>\ 3421 </div>\ 3422 '; 3423 3424 } 3425 if(field == 'birth') { 3426 var birth = (o['name']) ? o['name'] : $.lang[LANG]['manager.list.info.'+field]; 3427 3428 add_input = '\ 3429 <div class="cl-s-form-wrap ' + optional_class + '">\ 3430 <div class="cl-s-form-group">\ 3431 <input type="text" class="cl-s-form-control cl-s-form-birth" name="'+field+'" id="input-' + field + '" required="required" value="' + o['value'] + '" onkeyup="auto_date_format(event, this)" onkeypress="auto_date_format(event, this)">\ 3432 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['siteum.mypage.Birth'] + star + ' </label>\ 3433 </div>\ 3434 </div>\ 3435 '; 3436 } 3437 else if (field == 'fupload'){ 3438 console.log 3439 } 3440 else if(field == 'addr') { 3441 3442 3443 if( mode && mode === 'business'){ 3444 var o_postcode = (o['value'][0]) ? o['value'][0].trim() : '', 3445 o_addr1 = (o['value'][1]) ? o['value'][1].trim() : '', 3446 o_addr2 = (o['value'][2]) ? o['value'][2].trim() : '', 3447 addr_has_clas = (o_postcode || o_addr1) ? 'has-value' : '', 3448 addr_modal = (mode == 'shopping' || o['addrsearch']) ? 'readonly onfocus="addrSearchModal(\'input\')" ' : ''; 3449 3450 add_input = '\ 3451 <div class="cl-s-form-wrap ' + optional_class + '">\ 3452 <div class="cl-s-form-group">\ 3453 <input type="hidden" class="cl-s-form-control" name="postcode" id="input-postcode" value="' + o_postcode + '">\ 3454 <input type="text" class="cl-s-form-control '+addr_has_clas+'" name="addr1" id="input-addr1" required="required" value="' + o_addr1 + '" ' + addr_modal + '>\ 3455 <label for="input" class="cl-s-control-label">' + name + star + '</label>\ 3456 </div>\ 3457 </div>\ 3458 <div class="cl-s-form-wrap">\ 3459 <div class="cl-s-form-group">\ 3460 <input type="text" class="cl-s-form-control" name="addr2" id="input-addr2" required="required" value="' + o_addr2 + '">\ 3461 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['manager.list.info.addr2'] + '</label>\ 3462 </div>\ 3463 </div>\ 3464 '; 3465 } else if(mode && mode === 'shopping') { 3466 var sm_name = '', 3467 sm_tel = '', 3468 sm_addr0 = '', 3469 sm_addr0_empty ='', 3470 sm_addr1 = '', 3471 sm_addr2 = '', 3472 sm_isalias = '', 3473 sm_isalias_empty = '', 3474 aliasText = '', 3475 sm_nodata = ''; 3476 btn_text ='' 3477 3478 if (data['sm_addr'] && data['sm_addr']['is_default'] === 0) { 3479 sm_nodata = 'emptyFlag'; 3480 btn_text = 'ì¶ê°í기'; 3481 } else{ 3482 const sm = data?.sm_addr || {}; 3483 3484 sm_name = sm.name?.trim?.() || ''; 3485 sm_tel = sm.tel?.trim?.() || ''; 3486 3487 addrText = sm.value?.[0]?.trim?.() || ''; 3488 sm_addr0 = addrText ? '[' + addrText + ']' : ''; 3489 sm_addr0_empty = sm_addr0 ? '' : 'hide'; 3490 3491 sm_addr1 = sm.value?.[1]?.trim?.() || ''; 3492 sm_addr2 = sm.value?.[2]?.trim?.() || ''; 3493 aliasText = sm.alias?.trim?.() || ''; // 먼ì alias 문ìì´ ë½ê¸°
3494 sm_isalias = aliasText ? '(' + aliasText + ')' : ''; // ê´í¸ ì²ë¦¬ 3495 sm_isalias_empty = aliasText ? '' : 'hide'; // í´ëì¤ ì²ë¦¬ 3496 3497 3498 btn_text = 'ë³ê²½í기'; 3499 3500 } 3501 3502 var valueCheckEl = ""; 3503 console.log(sm_nodata); 3504 (valueCheckEl = sm_nodata ? '<input type="text" class="cl-s-form-control hide" required="required" value="">' : '' ); 3505 add_input = '\ 3506 <div class="cl-s-form-wrap sm-parent '+sm_nodata+'">\ 3507 <div class="cl-s-form-wrap '+(sm_nodata ? optional_class : "") +'">\ 3508 <div class="cl-s-form-group">\ 3509 <div class="cl-s-form-control flexbox">\ 3510 '+valueCheckEl+'\ 3511 <label for="input" class="cl-s-control-label">ë°°ì¡ì§ ì ë³´<span class="input-star '+ (optional_class ? '' : 'hide') +'">*</span></label>\ 3512 <div class="cl-s-form-wrap btn-load-addresses mypage" data-action="getList">\ 3513 <div class="cl-s-form-group EditBtn">\ 3514 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m15.29 7-1.31 1.31c.16-3-1.96-5.71-5-6.22-1.91-.32-3.86.3-5.23 1.67l.71.71a5.003 5.003 0 0 1 7.07 0 4.989 4.989 0 0 1 1.45 3.81L11.7 7l-.71.71 2.5 2.5 2.5-2.5-.71-.71ZM4.46 11.53a4.989 4.989 0 0 1-1.45-3.81L4.29 9 5 8.29l-2.5-2.5L0 8.29.71 9l1.31-1.31c-.16 3 1.96 5.71 5 6.22 1.91.32 3.86-.3 5.23-1.67l-.71-.71a5.003 5.003 0 0 1-7.07 0Z"/></svg><span>'+btn_text+'</span>\ 3515 </div>\ 3516 <div class="cl-s-form-group ">\ 3517 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" width="12" height="12"><path d="M6.5 12h-1V6.5H0v-1h5.5V0h1v5.5H12v1H6.5V12Z"/></svg><span>'+btn_text+'</span>\ 3518 </div>\ 3519 </div>\ 3520 </div>\ 3521 <div class="cl-s-form-control"><div class="sm-name">'+sm_name+'</div><div class="sm-alias '+sm_isalias_empty+'">'+sm_isalias+'</div><div class="sm-default-addr"><span>기본배ì¡ì§</span></div></div>\ 3522 \ 3523 <div class="cl-s-form-control"><div class="sm-addr1"><span class ="'+sm_addr0_empty+'">'+sm_addr0+'</span><span>'+sm_addr1+' '+sm_addr2+'</span></div></div>\ 3524 <div class="cl-s-form-control"><div class="sm-tel">'+sm_tel+'</div></div>\ 3525 <div class="cl-s-form-control noaddress" style="text-align:center; padding:20px; color:#999;">ë±ë¡ë ë°°ì¡ì§ê° ììµëë¤.</div>\ 3526 </div>\ 3527 </div>\ 3528 </div>\ 3529 '; 3530 } 3531 3532 } else if(field == 'gender') { 3533 add_input = '\ 3534 <div class="cl-s-form-wrap ' + optional_class + '">\ 3535 <div class="cl-s-form-group">\ 3536 <select class="cl-s-form-control" name="gender" id="input-gender" required="required">\ 3537 <option value="">ì í</option>'; 3538 if(o['value'] == '01') { 3539 add_input += '\ 3540 <option value="01" selected>ë¨</option>\ 3541 <option value="02">ì¬</option>'; 3542 } else if(o['value'] == '02') { 3543 add_input += '\ 3544 <option value="01">ë¨</option>\ 3545 <option value="02" selected>ì¬</option>'; 3546 } else { 3547 add_input += '\ 3548 <option value="01">ë¨</option>\ 3549 <option value="02">ì¬</option>'; 3550 } 3551 add_input += '\ 3552 </select>\ 3553 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 4" width="8" height="4"><path d="m0 0 4 4 4-4z"/></svg>\ 3554 <label for="input" class="cl-s-control-label">' + name + star +'</label>\ 3555 </div>\ 3556 </div>\ 3557 '; 3558 } 3559 3560 if(cert == 'Y') { 3561 switch (field) { 3562 case 'name': 3563 case 'gender': 3564 case 'birth': 3565 case 'tel': 3566 var value = (o['value'])? o['value']:''; 3567 add_input = '<input id="input-' + field + '" type="hidden" name="' + field + '" value="' + value + '">'; 3568 break; 3569 } 3570 } 3571 3572 collections += add_input + jcollection_val_str; 3573 3574 } 3575 } 3576 }); 3577 return collections; 3578 }, 3579 makeMypageContent: function(sid,data,mode,cert) { 3580 if(typeof cert === 'undefined' || !cert) cert = 'N'; 3581 3582 var collections = $.umember.makeMypageConditionsStr(sid,data,mode,cert), 3583 s_validtype = (typeof VALIDTYPE != 'undefined') ? VALIDTYPE : property.VALIDTYPE; 3584 3585 var default_info = '\ 3586 <div class="profile-wrap cl-s-profile-box col-xs-12 col-sm-12 col-md-12 no-padding">\ 3587 <div class="profile-image-wrap profile-image-box">\ 3588 <svg viewBox="0 0 110 110">\ 3589 <pattern id="profileMyImg" patternUnits="userSpaceOnUse" width="110" height="110">\ 3590 <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="' + data['image'] + '" x="0" width="110" height="110"></image>\ 3591 </pattern>\ 3592 <circle cx="55" cy="56" r="54" fill="url(#profileMyImg)" stroke="#ededed"></circle>\ 3593 </svg>\ 3594 </div>\ 3595 <div class="profile-text-wrap">\ 3596 <div class="cl-s-form-wrap cl-s-info-id" disabled>\ 3597 <input type="hidden" class="cl-s-form-control" name="id" id="input-id" required="required" value="' + data['id']['value'] + '">\ 3598 <span class="id-text">' + data['id']['value'] + '</span>\ 3599 </div>\ 3600 <label for="profileMyImgFileupload">' + $.lang[LANG]['siteum.mypage.change.image'] + '</label>\ 3601 <input id="profileMyImgFileupload" class="modal-upload-button um-image-upload" type="file" name="files[]" data-sid="' + sid + '" data-uid="' + data['id']['value'] + '" />\ 3602 <p class="cl-s-image-size">' + $.lang[LANG]['manager.mypage.profile.image.note'] + ' ' + $.lang[LANG]['manager.mypage.profile.image.size'] + '</p>\ 3603 </div>\ 3604 </div>\ 3605 <div class="clearfix"></div>\ 3606 '; 3607 3608 var content = '\ 3609 <div class="cl-s-form-wrap">\ 3610 <div class="cl-s-form-group">\ 3611 <input type="password" class="cl-s-form-control" name="password" id="input-password" required="required" value="">\ 3612 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['siteum.login.password.myinfo'] + '</label>\ 3613 </div>\ 3614 </div>\ 3615 <div class="cl-s-form-wrap">\ 3616 <div class="cl-s-form-group">\ 3617 <input type="password" class="cl-s-form-control" name="password_checked" id="input-password-checked" required="required" value="">\ 3618 <label for="input" class="cl-s-control-label">' + $.lang[LANG]['siteum.login.password-check'] + '</label>\ 3619 </div>\ 3620 </div>\ 3621 <div class="cl-s-form-description">' + $.lang[LANG]['siteum.login.password.description'] + '</div>\ 3622 '; 3623 3624 return { content: content, collections: collections, default_info: default_info }; 3625 }, 3626 showMyImageUploadModal: function(sid,uid,src) { 3627 var content = '\ 3628 <div class="flat-modal mng-mypage-modal">\ 3629 <div class="modal modal-default fade" id="my-image-modal" tabindex="-1" role="dialog" aria-labelledby="mySmallMod
3629alLabel" aria-hidden="true" data-sid="' + sid + '" data-uid="' + uid + '">\ 3630 <div class="modal-dialog w385">\ 3631 <div class="modal-content">\ 3632 <button type="" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true"><img src="https://storage.googleapis.com/i.addblock.net/fa-close-modal.png" alt="close"></span></button>\ 3633 <div class="modal-body">\ 3634 <div class="profile-image-wrap no-opacity">\ 3635 <div>\ 3636 <span class="top"></span>\ 3637 <span class="bottom"></span>\ 3638 </div>\ 3639 <img class="my-image img-responsive" src="' + src + '" alt="profile image" />\ 3640 </div>\ 3641 <p>' + $.lang[LANG]['manager.mypage.profile.image.note'] + ' <strong>' + $.lang[LANG]['manager.mypage.profile.image.size'] + '</strong></p>\ 3642 </div>\ 3643 <div id="progress" class="progress">\ 3644 <div class="progress-bar progress-bar-success"></div>\ 3645 </div>\ 3646 <div class="modal-footer">\ 3647 <button type="button" class="btn btn-default" data-dismiss="modal">' + $.lang[LANG]['config.close'] + '</button>\ 3648 <span class="btn btn-primary fileinput-button">\ 3649 <span>' + $.lang[LANG]['manager.mypage.profile.image.apply'] + '</span>\ 3650 <input id="profileUMFileupload" class="modal-upload-button um-image-upload" type="file" name="files[]" data-sid="' + sid + '" data-uid="' + uid + '" >\ 3651 </span>\ 3652 </div>\ 3653 </div>\ 3654 </div>\ 3655 </div>\ 3656 </div>\ 3657 '; 3658 3659 $.umember.showMngModal(sid, content, 'my-image-modal', false, '', '', '', '', ''); 3660 }, 3661 fileurlcreate : function(cl_val) { 3662 // ë¨ì¼ íì¼ URL ìì± í¨ì 3663 // cl_valì ë°ìì ë¤ì´ë¡ë ë§í¬ì íì¼ ì 보를 ë°í 3664 var result = { 3665 download_link: '', 3666 file_links: '', 3667 file_data: '', 3668 file_info: { 3669 name: '', 3670 size: '', 3671 url: '', 3672 size_display: '' 3673 } 3674 }; 3675 3676 if(cl_val && cl_val.trim() !== '') { 3677 // ë¨ì¼ íì¼ ì²ë¦¬ - 첫 ë²ì§¸ íì¼ë§ ì¬ì© 3678 var file_data = cl_val.split(',')[0]; 3679 result.file_data = file_data; 3680 3681 if(file_data && file_data.trim() !== '') { 3682 var explode_v = file_data.split('||'); 3683 // console.log('fileurlcreate explode_v:', explode_v); // ëë²ê¹ ì© 3684 3685 // íì¬ ë°ì´í° 구조ì ë§ê² ìì 3686 // explode_v[0]: íì¼ëª , explode_v[1]: íì¼ í¬ê¸°, explode_v[2]: URL 3687 var link_url = explode_v[2] || ''; 3688 var link_url_arr = link_url.split('/'); 3689 var true_file_name = link_url_arr[link_url_arr.length - 1]; 3690 3691 if(explode_v[0]) { 3692 // íì¼ í¬ê¸° ê³ì° (explode_v[1]ìì í¬ê¸° ì¶ì¶) 3693 var flink_s = (explode_v[1]) ? parseFloat(explode_v[1].replace(/[^0-9\.]/g, '')) : 0; 3694 var flink_unit = (explode_v[1] && explode_v[1].indexOf('MB') > -1) ? 'MB' : 'KB'; 3695 var flink_size = (flink_unit === 'MB') ? flink_s : flink_s; 3696 // view.htmlì round($flink_size,2)ì ëì¼íê² ììì 2ì리ê¹ì§ íì 3697 var flink_str = (explode_v[1]) ? parseFloat(flink_size.toFixed(2)) + flink_unit : ''; 3698 3699 var current_sid = (typeof property !== 'undefined' && property.SID) ? property.SID : (typeof SID !== 'undefined' ? SID : ''); 3700 var download_link = '<a href="/down/flink/1/sid/' + current_sid + '/name/' + encodeURIComponent(explode_v[0]) + '/s/' + true_file_name + '" class="file-download-btn" target="_blank">'; 3701 3702 result.download_link = download_link; 3703 result.file_links = download_link; 3704 result.file_info = { 3705 name: explode_v[0], 3706 size: explode_v[1] || '', 3707 url: link_url, 3708 size_display: flink_str 3709 }; 3710 } 3711 } 3712 } 3713 3714 return result; 3715 }, 3716 fileHtmlRender : function(orgfield,option){// 그리기 ë´ë¹ ë©ìë 3717 // ì¨ ê°ìë°ë¼ 그리ëê±° ë¬ë¼ì§ê¸° 3718 option = $.extend({ 3719 val : "", 3720 type : "", 3721 type2_downlink : "" 3722 3723 3724 }, option); 3725 3726 // option.valìì íì¼ ì ë³´ íì± (íì¼ëª ||íì¼í¬ê¸°||íì¼ê²½ë¡ íí) 3727 var fileName = ''; 3728 var fileSize = ''; 3729 var filePath = ''; 3730 var fileSizeDisplay = ''; 3731 var fileSizeUnit = 'KB'; 3732 var hasValidFile = false;
3733 // option.valì´ ìê³ íì¼ ì ë³´ íìì´ ë§ëì§ íì¸ 3734 if (option.val && option.val.indexOf('||') > -1) { 3735 var fileData = option.val.split('||'); 3736 if (fileData.length >= 3) { 3737 fileName = fileData[0]; 3738 fileSize = fileData[1]; 3739 filePath = fileData[2]; 3740 filePaths = (filePath && filePath.indexOf('/') > -1 ? [filePath.split('/').pop()] : []); 3741 // íì¼ëª ê³¼ ê²½ë¡ê° 모ë ìë ê²½ì°ìë§ ì í¨í íì¼ë¡ íë¨ 3742 if (fileName && filePath) { 3743 hasValidFile = true; 3744 3745 // íì¼ í¬ê¸° ë¨ì ì²ë¦¬ 3746 if (fileSize.indexOf('KB') > -1) { 3747 fileSize = parseFloat(fileSize.replace('KB', '')); 3748 fileSizeUnit = 'KB'; 3749 } else if (fileSize.indexOf('MB') > -1) { 3750 fileSize = parseFloat(fileSize.replace('MB', '')); 3751 fileSizeUnit = 'MB'; 3752 } else { 3753 fileSize = parseFloat(fileSize); 3754 fileSizeUnit = 'KB'; 3755 } 3756 3757 // íì¼ í¬ê¸° íì íì ì¡°ì 3758 if (fileSizeUnit === 'KB' && fileSize > 1024) { 3759 fileSizeDisplay = (fileSize / 1024).toFixed(2) + 'MB'; 3760 } else { 3761 fileSizeDisplay = fileSize.toFixed(2) + fileSizeUnit; 3762 } 3763 } 3764 } 3765 } 3766 3767 var temphtml = ''; 3768 3769 if(option.type == 'type1') { 3770 if (hasValidFile) { 3771 // íì¼ì´ ìë ê²½ì° 3772 temphtml += '\ 3773 <div class="cl-s-form-group">\ 3774 <input type="text" class="cl-s-form-control valueCheck" value="' + option.val + '" required="required" name="'+orgfield+'" id="input-' + orgfield + '">\ 3775 <div class="cl-s-form-control-register">\ 3776 <p class="file-title text hide">첨ë¶ë íì¼ì´ ììµëë¤.</p>\ 3777 <label r-fupload-type="file.upload" r-fupload-require="" class="hide"><input type="file" class="hide" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M1 15v-3.5h1V14h12v-2.5h1V15H1Zm6.5-2.79v-9.3L4.35 6.06l-.71-.71L8 1l4.35 4.35-.71.71-3.15-3.15v9.29h-1Z"/></svg>' + $.lang[LANG]['register.fileUpload.btn.text'] + '</label>\ 3778 <div class="file-row display-flex align-items-center">\ 3779 <div class="r-flex-left">\ 3780 <div class="file-thumb"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M4 16c-1.66 0-3-1.34-3-3V6l6-6h5c1.66 0 3 1.34 3 3v10c0 1.66-1.34 3-3 3H4Zm-2-3c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2H8v4c0 1.1-.9 2-2 2H2v6Zm.41-7H6c.55 0 1-.45 1-1V1.41L2.41 6ZM4 13v-1h8v1H4Zm0-3V9h8v1H4Z"/></svg></div>\ 3781 <div>\ 3782 <p class="file-name">'+fileName+'</p>\ 3783 </div>\ 3784 </div>\ 3785 <div class="r-flex-right">\ 3786 <p class="file-size">'+fileSizeDisplay+'</p>\ 3787 <span class="form-file-delete" data-src="'+filePaths+'">\ 3788 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15"><g>
3788<path d="M2.35 12.65c-.2-.2-.2-.51 0-.71l9.6-9.6c.2-.2.51-.2.71 0 .2.2.2.51 0 .71l-9.6 9.6c-.2.2-.52.2-.71 0z"/><path d="M12.3 2.2a.47.47 0 0 0-.35.15l-9.6 9.6c-.2.2-.2.51 0 .71.1.1.23.15.35.15.13 0 .26-.05.35-.15l9.6-9.6c.2-.2.2-.51 0-.71-.1-.1-.22-.15-.35-.15z"/><path d="M12.65 12.65c-.2.2-.51.2-.71 0l-9.6-9.6c-.2-.2-.2-.51 0-.71.2-.2.51-.2.71 0l9.6 9.6c.2.2.2.52 0 .71z"/><path d="M2.7 2.2a.47.47 0 0 0-.35.15c-.2.2-.2.51 0 .71l9.6 9.6c.1.1.23.15.35.15.13 0 .26-.05.35-.15.2-.2.2-.51 0-.71l-9.6-9.6a.47.47 0 0 0-.35-.15z"/></g></svg>\ 3789 </span>\ 3790 </div>\ 3791 </div>\ 3792 </div>\ 3793 </div>\ 3794 '; 3795 } else { 3796 // íì¼ì´ ìë ê²½ì° 3797 temphtml += '\ 3798 <div class="cl-s-form-group">\ 3799 <input type="text" class="cl-s-form-control valueCheck" value="" required="required" name="'+orgfield+'" id="input-' + orgfield + '">\ 3800 <div class="cl-s-form-control-register" >\ 3801 <p class="file-title hide text">첨ë¶ë íì¼ì´ ììµëë¤.</p><label r-fupload-type="file.upload" r-fupload-require="" class=""><input type="file" class="hide" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M1 15v-3.5h1V14h12v-2.5h1V15H1Zm6.5-2.79v-9.3L4.35 6.06l-.71-.71L8 1l4.35 4.35-.71.71-3.15-3.15v9.29h-1Z"/></svg>' + $.lang[LANG]['register.fileUpload.btn.text'] + '</label></div>\ 3802 </div>\ 3803 </div>\ 3804 '; 3805 } 3806 } else if(option.type == 'type2') { 3807 if(!option.val){ 3808 temphtml += '\ 3809 <div class="type2 cl-common-form-wrap nonplace-holder '+ (option.val ? 'isdata' : 'nodata') +'" data-jcoltype="fupload" id="member-'+ orgfield + '">\ 3810 <div class="cl-common-form-group">\ 3811 <div class="cl-s-form-group">\ 3812 <input type="text" class="member-info-input form-control cl-s-form-control valueCheck" value="" required="required" name="member-'+orgfield+'" id="member-' + orgfield + '">\ 3813 <div class="cl-s-form-control-register" >\ 3814 <label r-fupload-type="file.upload" r-fupload-require="" class=""><input type="file" class="hide" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M1 15v-3.5h1V14h12v-2.5h1V15H1Zm6.5-2.79v-9.3L4.35 6.06l-.71-.71L8 1l4.35 4.35-.71.71-3.15-3.15v9.29h-1Z"/></svg>' + $.lang[LANG]['register.fileUpload.btn.text'] + '</label></div>\ 3815 </div>\ 3816 </div>\ 3817 </div>'; 3818 } else { 3819 temphtml += '\ 3820 <div class="type2 cl-common-form-wrap nonplace-holder '+ (option.val ? 'isdata' : 'nodata') +'" data-jcoltype="fupload" id="member-'+ orgfield + '">\ 3821 <div class="cl-common-form-group">\ 3822 <div class="cl-s-form-group">\ 3823 <input type="text" class="member-info-input form-control cl-s-form-control valueCheck" value="'+option.val+'" required="required" name="member-'+orgfield+'" id="member-' + orgfield + '">\ 3824 <div class="cl-s-form-control-register" >\ 3825 <div class="file-row file-info-layout">\ 3826 <div class="file-left-area">\ 3827 <p class="file-name">'+fileName+'</p>\ 3828 </div>\ 3829 <div class="file-right-area">\ 3830 <span class="file-size">'+fileSizeDisplay+'</span>\ 3831 '+$.umember.fileurlcreate(option.val).download_link+'\ 3832 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">\ 3833 <path d="M5 19v-3.5h1V18h12v-2.5h1V19H5Zm2.65-7.15.71-.71 3.15 3.15V5h1v9.29l3.15-3.15.71.71-4.35 4.35-4.35-4.35Z"/>\ 3834 </svg>\ 3835 </a>\ 3836 <span class="form-file-delete" data-src="'+filePaths+'">\ 3837 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">\ 3838 <path d="M19 8h-3V6H8.02v2H5v1h1v9c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9h1V8ZM9.02 7H15v1H9.02V7ZM17 18c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1V9h10v9Zm-7-7h1v6h-1v-6Zm3 0h1v6h-1v-6Z"/>\ 3839 </svg>\ 3840 </span>\ 3841 </div>\ 3842 </div>\ 3843 <label r-fupload-type="file.upload" r-fupload-require="" class=""><input type="file" class="hide" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M1 15v-3.5h1V14h12v-2.5h1V15H1Zm6.5-2.79v-9.3L4.35 6.06l-.71-.71L8 1l4.35 4.35-.71.71-3.15-3.15v9.29h-1Z"/></svg>
3843' + $.lang[LANG]['register.fileUpload.btn.text'] + '</label></div>\ 3844 </div>\ 3845 </div>\ 3846 </div>'; 3847 } 3848 } 3849 3850 return temphtml; 3851 } 3852 3853 } /*umember end*/ 3854 3855 3856 3857 $(document).on("click", "label[r-fupload-type='file.upload']", function () { 3858 var currentPage = "" 3859 if($(this).closest('.info-modal').length > 0) currentPage = "info"; 3860 else if ($(this).closest(".register_form-wrap").length > 0) currentPage = "register"; 3861 else if ($(this).closest(".account-info").length > 0) currentPage = "mypage"; 3862 3863 3864 var REGISTER_MAX_FILE_NUMBER = 1; 3865 3866 $(" div[data-jcoltype='fupload'] input[type='file']").fileupload({ 3867 url: '/template/register_fupload/upload-file', 3868 dataType: 'json', 3869 async: true, 3870 pasteZone: null, 3871 formData: function() { 3872 // sid ê°ì ê°ì ¸ì¤ê¸° ìí ë¡ì§ 3873 var current_sid = (typeof property !== 'undefined' && property.SID) ? property.SID : (typeof SID !== 'undefined' ? SID : ''); 3874 return [ 3875 {name: 'sid', value: current_sid} 3876 ]; 3877 }, 3878 change : function (e, data) { // íì¼ ì í í íì¸ ë²í¼ í´ë¦í ë change ì¡°ê±´ë¤ íµê³¼í´ì¼ í¨ 3879 if(data.files.length > REGISTER_MAX_FILE_NUMBER || $(this).closest(".cl-s-form-control-register ").find('.file-row').length + data.files.length > REGISTER_MAX_FILE_NUMBER){ 3880 // $(this).showModalFlat($.lang[LANG]['manager.list.member.block.title'], modal_content, true, true, function() { 3881 3882 var modal = $(this).showModalFlat('',$.lang[LANG]['register.file.upload.limit'], modal_content, true, true, function() { 3883 $(document).on('keydown', function(e) { 3884 if(e.keyCode == 27) modal.modal('hide'); 3885 }); 3886 }, 'cancel','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0'); 3887 return false; 3888 } 3889 // console.log("afaf"); 3890 var maxsize = ""; 3891 if(typeof property != 'undefined' && property) maxsize = (property.VALIDPLAN && $.inArray(property.VALIDTYPE,['BN','SM']) > -1) ? 104857600 : 10485760; 3892 else if(typeof VALIDTYPE != 'undefined' && VALIDTYPE) maxsize = ($.inArray(VALIDTYPE,["BUSNESS","SHOPPING"]) > -1) ? 104857600 : 10485760; 3893 // console.log(maxsize); 3894 var flag = true; 3895 $.each(data.files, function(idx, file) { 3896 var filesize = file.size; 3897 if(file.size > maxsize) { 3898 filesize = (filesize/1024/1024).toFixed(1); 3899 if(maxsize == 104857600) err = $.lang[LANG]['editor.upload.max.100'] + $.lang[LANG]['editor.upload.max.2']; 3900 else err = $.lang[LANG]['editor.upload.max.1'] + $.lang[LANG]['editor.upload.max.2']; 3901 3902 $('.flat-modal').addClass('hide'); 3903 $('.modal-backdrop').addClass('hide'); 3904 3905 var modal = $(this).showModalFlat('', err,true,false,function(){ 3906 3907 $(document).on('keydown', function(e) { 3908 if(e.keyCode == 27) modal.modal('hide'); 3909 }); 3910 $('.flat-modal').removeClass('hide'); 3911 $('.modal-backdrop').removeClass('hide'); 3912 3913 },'ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-t80 cl-modal cl-none-title cl-close-btn',false,function(){ 3914 $('.flat-modal').removeClass('hide'); 3915 $('.modal-backdrop').removeClass('hide'); 3916 3917 }); 3918 3919 3920 flag = false; 3921 return false; 3922 } 3923 }); 3924 3925 if(!flag) return false; 3926 }, 3927 add: function(e,data) { // ìë²ì ì ë¡ë ì¼ë¨ í¨ 3928 var r = $.upload_add(e,data,'register_flink'); 3929 // r ê°ì²´ì submitì´ falseì´ê³ err ë©ìì§ê° ìë ê²½ì° ìë¬ íì ì ëì°ë ì²ë¦¬ ììì ëë¤. 3930 if (r && r.submit === false && r.err) { 3931 $('.flat-modal').addClass('hide'); 3932 $('.modal-backdrop').addClass('hide'); 3933 } 3934 3935 if(r.submit) { 3936 $('#loading').css('left','-100%'); 3937 $.processON(); 3938 data.submit(); 3939 3940 // var jqXHR = data.submit(); 3941 } else { 3942 3943 3944 3945 var modal = $(this).showModalFlat('', r.err,true,false,function(){ 3946 $(document).on('keydown', function(e) { 3947 if(e.keyCode == 27) modal.modal('hide'); 3948 }); 3949 $('.flat-modal').removeClass('hide'); 3950 $('.modal-backdrop').removeClass('hide'); 3951 3952 },'ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-t80 cl-modal cl-none-title cl-close-btn',false,function(){ 3953 $('.flat-modal').removeClass('hide'); 3954 $('.modal-backdrop').removeClass('hide'); 3955 3956 }); 3957 } 3958 }, 3959 done: function (e, data) { 3960 if(typeof data.result.error != 'undefined' && data.result.error) { 3961 // alert(data.result.error); 3962 3963 var modal = $(this).showModalFlat('', data.result.error,true,false,function(){ 3964 3965 $(document).on('keydown', function(e) { 3966 if(e.keyCode == 27) modal.modal('hide'); 3967 }); 3968 $('.flat-modal').removeClass('hide'); 3969 $('.modal-backdrop').removeClass('hide'); 3970 3971 },'ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-t80 cl-modal cl-none-title cl-close-btn',false,function(){ 3972 $('.flat-modal').removeClass('hide'); 3973 $('.modal-backdrop').removeClass('hide'); 3974 3975 });
3976 // $('.progress .progress-bar').css('width','0%'); 3977 $.processOFF(); 3978 return; 3979 } 3980 if(typeof data.result.file == 'undefined' || !data.result.file || typeof data.result.uploaded == 'undefined' || !data.result.uploaded) { 3981 3982 3983 var modal = $(this).showModalFlat('', $.lang[LANG]['form.file.upload.disabled'],true,false,function(){ 3984 3985 $(document).on('keydown', function(e) { 3986 if(e.keyCode == 27) modal.modal('hide'); 3987 }); 3988 $('.flat-modal').removeClass('hide'); 3989 $('.modal-backdrop').removeClass('hide'); 3990 3991 },'ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-t80 cl-modal cl-none-title cl-close-btn',false,function(){ 3992 $('.flat-modal').removeClass('hide'); 3993 $('.modal-backdrop').removeClass('hide'); 3994 3995 }); 3996 $.processOFF(); 3997 return; 3998 } 3999 4000 if(data.result.uploaded) { 4001 var flink_s = (data.result.uploaded.file_size) ? Number(data.result.uploaded.file_size) : 0, 4002 flink_unit = (flink_s > 1024) ? 'MB' : 'KB', 4003 flink_size = (flink_s > 1024) ? flink_s/1024 : flink_s; 4004 4005 var uploaded = data.result.uploaded; 4006 var thumb = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50" height="50"><g><path d="M28 16.82c0 1.21.98 2.18 2.18 2.18H40L28 7v9.82z" style="fill:#3870B2"/><path d="M30.18 19c-1.2 0-2.18-.98-2.18-2.18V7H13c-1.66 0-3 1.34-3 3v30c0 1.66 1.34 3 3 3h24c1.66 0 3-1.34 3-3V19h-9.82zM32 35H18v-2h14v2zm0-5H18v-2h14v2zm0-5H18v-2h14v2z" style="fill:#4789e7"/></g></svg>'; 4007 if(uploaded.file_type.indexOf('image/') > -1 && uploaded.thumbnail_url) { 4008 thumb = '<img src="' + uploaded.thumbnail_url + '">'; 4009 } 4010 4011 //$(this).closest(".cl-s-etc-val").find("input[type='text']").remove(); 4012 $(this).closest("[data-jcoltype='fupload']").find(".valueCheck").val(data.result.uploaded.orig_name + '||' + data.result.uploaded.file_size + 'KB' + '||' + data.result.file); 4013 $(this).closest(".cl-s-form-wrap").removeClass("empty"); 4014 4015 switch(currentPage){ 4016 case "mypage" : 4017 case "register" : 4018 var fileRow = '\ 4019 <div class="file-row display-flex align-items-center">\ 4020 <div class="r-flex-left">\ 4021 <div class="file-thumb"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M4 16c-1.66 0-3-1.34-3-3V6l6-6h5c1.66 0 3 1.34 3 3v10c0 1.66-1.34 3-3 3H4Zm-2-3c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2H8v4c0 1.1-.9 2-2 2H2v6Zm.41-7H6c.55 0 1-.45 1-1V1.41L2.41 6ZM4 13v-1h8v1H4Zm0-3V9h8v1H4Z"/></svg></div>\ 4022 <div>\ 4023 <p class="file-name">'+uploaded.orig_name+'</p>\ 4024 </div>\ 4025 </div>\ 4026 <div class="r-flex-right">\ 4027 <p class="file-size">'+flink_size.toFixed(2) + flink_unit+'</p>\ 4028 <span class="form-file-delete" data-src="'+uploaded.file_name+'">\ 4029 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15"><g>
4029<path d="M2.35 12.65c-.2-.2-.2-.51 0-.71l9.6-9.6c.2-.2.51-.2.71 0 .2.2.2.51 0 .71l-9.6 9.6c-.2.2-.52.2-.71 0z"/><path d="M12.3 2.2a.47.47 0 0 0-.35.15l-9.6 9.6c-.2.2-.2.51 0 .71.1.1.23.15.35.15.13 0 .26-.05.35-.15l9.6-9.6c.2-.2.2-.51 0-.71-.1-.1-.22-.15-.35-.15z"/><path d="M12.65 12.65c-.2.2-.51.2-.71 0l-9.6-9.6c-.2-.2-.2-.51 0-.71.2-.2.51-.2.71 0l9.6 9.6c.2.2.2.52 0 .71z"/><path d="M2.7 2.2a.47.47 0 0 0-.35.15c-.2.2-.2.51 0 .71l9.6 9.6c.1.1.23.15.35.15.13 0 .26-.05.35-.15.2-.2.2-.51 0-.71l-9.6-9.6a.47.47 0 0 0-.35-.15z"/></g></svg>\ 4030 </span>\ 4031 </div>\ 4032 </div>\ 4033 '; 4034 break; 4035 4036 case "info" : 4037 // íì¼ ì 보를 ì¡°í©íì¬ ë¤ì´ë¡ë ë§í¬ ìì± 4038 var file_info_str = uploaded.orig_name + '||' + uploaded.file_size + 'KB' + '||' + data.result.file; 4039 var fileResult = $.umember.fileurlcreate(file_info_str); 4040 var download_link = fileResult.download_link; 4041 4042 var fileRow = '\ 4043 <div class="file-row file-info-layout">\ 4044 <div class="file-left-area">\ 4045 <p class="file-name">'+uploaded.orig_name+'</p>\ 4046 </div>\ 4047 <div class="file-right-area">\ 4048 <span class="file-size">'+flink_size.toFixed(2) + flink_unit+'</span>\ 4049 '+download_link+'\ 4050 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">\ 4051 <path d="M5 19v-3.5h1V18h12v-2.5h1V19H5Zm2.65-7.15.71-.71 3.15 3.15V5h1v9.29l3.15-3.15.71.71-4.35 4.35-4.35-4.35Z"/>\ 4052 </svg>\ 4053 </a>\ 4054 <span class="form-file-delete" data-src="'+uploaded.file_name+'">\ 4055 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">\ 4056 <path d="M19 8h-3V6H8.02v2H5v1h1v9c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9h1V8ZM9.02 7H15v1H9.02V7ZM17 18c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1V9h10v9Zm-7-7h1v6h-1v-6Zm3 0h1v6h-1v-6Z"/>\ 4057 </svg>\ 4058 </span>\ 4059 </div>\ 4060 </div>\ 4061 '; 4062 break; 4063 } 4064 $(this).closest("[data-jcoltype='fupload'] .cl-s-form-control-register").append(fileRow); 4065 $(this).closest("[data-jcoltype='fupload']").find('label[r-fupload-type="file.upload"]').addClass('hide'); 4066 4067 $(this).closest("[data-jcoltype='fupload']").addClass('isdata'); 4068 $(this).closest("[data-jcoltype='fupload']").removeClass('nodata'); 4069 } 4070 4071 if($(this).closest("[data-jcoltype='fupload']").find('.file-row').length >= REGISTER_MAX_FILE_NUMBER) { 4072 $(this).closest("[data-jcoltype='fupload'] .cl-s-form-control-register").find('label').addClass('disabled'); 4073 $(this).closest("[data-jcoltype='fupload'] .cl-s-form-control-register ").find('input[type="file"]').prop('disabled', true); 4074 4075 var $inputElement = $(this).closest("[data-jcoltype='fupload']").find('.valueCheck'); 4076 $inputElement.attr('data-etcidx', ''); 4077 $inputElement.attr('data-id', ''); 4078 $inputElement.attr('data-file-name', ''); 4079 } 4080 $.processOFF(); 4081 // $('#loading').css('left','50%'); 4082 }, 4083 }).prop('disabled', !$.support.fileInput) 4084 .parent().addClass($.support.fileInput ? undefined : 'disabled'); 4085 }); 4086 4087 $(document).on("click", "div[data-jcoltype='fupload'] .form-file-delete", function() { 4088 var REGISTER_MAX_FILE_NUMBER = 1; 4089 var $elem = $(this); 4090 4091 var $label = $(this).closest("[data-jcoltype='fupload']").find('label'); 4092 var $inputFile = $(this).closest("[data-jcoltype='fupload']").find('input[type="file"]'); 4093 var etcIdx = $(this).closest("[data-jcoltype='fupload']").find('.valueCheck').attr('name'); 4094 etcIdx = etcIdx.replace('member-', ''); 4095 var directDeleteFlag = false; 4096 var $closestForm = $(this).closest('form[name="myinfo_form"]'); 4097 var id = ""; 4098 4099 if( $closestForm.length > 0 && $closestForm.attr('action') === '/_myinfo_proc') { 4100 directDeleteFlag = true; 4101 id = $(this).closest($closestForm).find('[name="email"]').val(); 4102 } else if (($(this).closest(".mng-modal-body").length > 0)){ 4103 directDeleteFlag = true; 4104 id = $(this).closest(".mng-modal-body").find(".member-info-input").val(); 4105 } 4106 4107 if(directDeleteFlag) { 4108 4109 var $inputElement = $elem.closest("[data-jcoltype='fupload']").find('.valueCheck');
4110 $inputElement.attr('data-etcidx', etcIdx); 4111 $inputElement.attr('data-id', id || ''); 4112 $inputElement.attr('data-file-name', $elem.data('src')); 4113 4114 // íì¼ ì ë¡ë ìí ì ë°ì´í¸ 4115 var fileRowCnt = $elem.closest("[data-jcoltype='fupload']").find('.file-row').length; 4116 $elem.closest("[data-jcoltype='fupload']").find(".valueCheck").attr('value', ''); 4117 4118 $elem.closest("[data-jcoltype='fupload']").addClass('nodata'); 4119 $elem.closest("[data-jcoltype='fupload']").removeClass('isdata'); 4120 $elem.closest("[data-jcoltype='fupload']").find('label[r-fupload-type="file.upload"]').removeClass('hide'); 4121 4122 if($elem.closest("[data-jcoltype='fupload']").hasClass("type2")) { 4123 $elem.closest("[data-jcoltype='fupload']").removeClass("isdata"); 4124 $elem.closest("[data-jcoltype='fupload']").addClass("nodata"); 4125 } 4126 if(fileRowCnt - 1 < REGISTER_MAX_FILE_NUMBER) { 4127 $label.removeClass('disabled'); 4128 $inputFile.prop('disabled', false); 4129 } 4130 $elem.closest('.file-row').remove(); 4131 4132 // íì¸ ë©ìì§ 4133 4134 } else { 4135 if(confirm(directDeleteFlag ? $.lang[LANG]['upload.file.confirm.delete'] : $.lang[LANG]['form.file.confirm.delete'])) { 4136 4137 $.ajax({ 4138 url:"/template/register_fupload/delete-file", 4139 type:"post", 4140 async: true, 4141 beforeSend: function() { 4142 $.processON(); 4143 }, 4144 data:{ 4145 "s": $elem.data("src"), 4146 "directDeleteflag" : directDeleteFlag , 4147 "etcIdx" : etcIdx, 4148 "id" : id || "", 4149 "sid": (typeof property !== 'undefined' && property.SID) ? property.SID : (typeof SID !== 'undefined' ? SID : '') 4150 }, 4151 dataType:"json", 4152 success:function() { 4153 var fileRowCnt = $elem.closest("[data-jcoltype='fupload']").find('.file-row').length; 4154 $elem.closest("[data-jcoltype='fupload']").find(".valueCheck").attr('value', ''); 4155 if(fileRowCnt > 1) { 4156 $elem.closest("[data-jcoltype='fupload']").find('.file-uploaded-number').text('(' + (fileRowCnt - 1) + '/' + REGISTER_MAX_FILE_NUMBER + ')'); 4157 } else { 4158 $elem.closest("[data-jcoltype='fupload']").addClass('nodata'); 4159 $elem.closest("[data-jcoltype='fupload']").removeClass('isdata'); 4160 $elem.closest("[data-jcoltype='fupload']").find('label[r-fupload-type="file.upload"]').removeClass('hide'); 4161 4162 if($elem.closest("[data-jcoltype='fupload']").hasClass("type2")) { 4163 $elem.closest("[data-jcoltype='fupload']").removeClass("isdata"); 4164 $elem.closest("[data-jcoltype='fupload']").addClass("nodata"); 4165 } 4166 } 4167 4168 if(fileRowCnt - 1 < REGISTER_MAX_FILE_NUMBER) { 4169 $label.removeClass('disabled'); 4170 $inputFile.prop('disabled', false); 4171 } 4172 }, 4173 complete: function() { 4174 $elem.closest('.file-row').remove(); 4175 $.processOFF(); 4176 } 4177 }); 4178 } 4179 } 4180 }); 4181 // $.fixbtnConfig = { 4182 // html: function(e){ 4183 // // console.log('fixbtnConfig html'); 4184 4185 // var $this = ($('.siteLANG').has(e.target).length || $(e.target).hasClass('siteLANG')) ? $('.el-menu .siteLANG') : $(e.target), 4186 // fixbtnPosition = $.fixbtnConfig.position($this), 4187 // checkSidebar = ($('.navbar-fheader').hasClass('sidebar')) ? true : false, 4188 // fh_type = $('header.navbar[data-fixtype]').attr('data-fh-type'), 4189 // fixtypeNum = $('header.navbar').attr('data-fixtype').replace(/(top|sidebar)\_/gi,''), 4190 // fixtypeArr = ['01','02','03','08'], 4191 // edit_html = '<div class="fixbtn_wrap"><span class="fixbtn_edit">' + clSVG('block-config',15,15) + '</span></div>', 4192 // checktarget = $.fixbtnConfig.checkTarget($this); 4193 4194 // if(checktarget.indexOf('FixedMenu')>-1) { 4195 // if(checkSidebar) $('.navbar-fheader[data-fixtype] .cl-fixed-menu').prepend(edit_html); 4196 // else $('.navbar-fheader[data-fixtype] .cl-fixed-menu').before(edit_html); 4197 // } else { 4198 // $('.element [data-fixtype^="sidebar_"] .siteLANG.cl-fixbtn').prepend(edit_html); 4199 // } 4200 4201 // $('.fixbtn_wrap').css('left',fixbtnPosition.left+'px'); 4202 4203 // if(checkSidebar && $.inArray(fixtypeNum, fixtypeArr) > -1) $('.fixbtn_wrap').css('top',fixbtnPosition.top+'px'); 4204 // if(!checkSidebar) $('.fixbtn_wrap').css('height',fixbtnPosition.height+'px');
4205 // if(!checkSidebar && (fh_type=='top')) $('header.navbar[data-fixtype]').find('.cl-fixed-menu').css('padding-left','50px'); 4206 // }, 4207 // position: function($this){ 4208 // // console.log('fixbtnConfig position'); 4209 // if((window.innerWidth < 769 && typeof MODE == 'undefined')) return false; 4210 // var height_arr = {}, 4211 // fh_type = ($('c').attr('data-fh-type')) ? $('header.navbar[data-fixtype]').attr('data-fh-type') : 'top', 4212 // fixtextalign = ($('header.navbar[data-fixtype]').attr('data-fixtextalign')) ? $('header.navbar[data-fixtype]').attr('data-fixtextalign') : 'center', 4213 // fixtypeNum = $('header.navbar').attr('data-fixtype').replace(/(top|sidebar)\_/gi,''), 4214 // fixtypeArr = ['01','02','03','08'], 4215 // checkSlang = ($('.cl-fixbtn.siteLANG').length > 0) ? true : false, 4216 // checkFixedMenu = ($('.cl-fixed-menu').length > 0) ? true : false, 4217 // checkSidebar = ($('.navbar-fheader').hasClass('sidebar')) ? true : false, 4218 // checktarget = $.fixbtnConfig.checkTarget($this); 4219 4220 // $this = (checktarget.indexOf('FixedMenu')>-1) ? $('.element header.navbar[data-fixtype] .cl-fixed-menu') : $('.element [data-fixtype^="sidebar_"] .siteLANG.cl-fixbtn'); 4221 4222 // var $cl_fixbtn = ($('header.navbar[data-fixtype] .cl-fixed-menu .cl-fixbtn.cl-visible').length>0) ? $('header.navbar[data-fixtype] .cl-fixed-menu .cl-fixbtn.cl-visible') : '', 4223 // width_val = ($cl_fixbtn) ? $cl_fixbtn.width() : 0, 4224 // clfixbtn_eq = (fixtextalign=='left' && checkSidebar && !$this.hasClass('siteLANG')) ? ($cl_fixbtn ? $cl_fixbtn.last() : $cl_fixbtn.first()) : ($this.hasClass('siteLANG') ? '' : $cl_fixbtn.first()), 4225 // $selector = $this.hasClass('siteLANG') ? $this.find('.cl-lang').offset().left.toFixed(0) : 4226 // ( $cl_fixbtn ? ((clfixbtn_eq.find('> a:visible').length>0) ? clfixbtn_eq.find('> a:visible').offset().left.toFixed(0) : 0) : 0), 4227 // leftPosCal = (checkSidebar) ? 50 : 47, 4228 // top_cal = ''; 4229 4230 // $selector = Number($selector); 4231 4232 // //ì¬ì´ëë° ì¸ë¡ëìì¸ íì¥ê¸°ë¥ë²í¼(01,02,03,08) => a íê·¸ width ìµëê° êµ¬í기 4233 // if(checkSidebar && ($.inArray(fixtypeNum, fixtypeArr) > -1) && !$this.hasClass('siteLANG')) { 4234 // var width_arr = [], 4235 // selector_arr = []; 4236 4237 // $cl_fixbtn.find('> a:visible').each(function(){ 4238 // var w_val = $(this).width(); 4239 // if(!top_cal) top_cal = Number(($(this).parents('li.cl-fixbtn.cl-visible').height() - 25) / 2); 4240 4241 // width_arr.push(w_val); 4242 // selector_arr.push($(this)); 4243 // }); 4244 4245 // var w_max = Math.max(...width_arr), 4246 // w_index = width_arr.indexOf(w_max); 4247 4248 // $selector = Number($(selector_arr[w_index]).offset().left.toFixed(0)); 4249 4250 // width_val = w_max; 4251 // } 4252 4253 // var fixed_left = ($this.hasClass('siteLANG')) ? ((fixtextalign=='left') ? $selector+$this.find('.cl-lang').width()-3 : $selector-47) : ((fixtextalign=='left' && checkSidebar) ? $selector+width_val : $selector-leftPosCal), 4254 // fixed_height = ($this.height() < 15) ? 45 : (fh_type=='right' ? $('header.navbar[data-fixtype]').find('#tpl-menu li').height() + 1 : $('header.navbar[data-fixtype]').find('#fixed-menu').height()); 4255 4256 // height_arr = { 4257 // 'left' : fixed_left, 4258 // 'height' : fixed_height, 4259 // 'top' : top_cal 4260 // } 4261 4262 // return height_arr; 4263 // }, 4264 // checkTarget : function($this) { 4265 // // console.log('fixbtnConfig checkTarget'); 4266 // var checkTarget = '', 4267 // checkSidebar = ($('.navbar-fheader').hasClass('sidebar')) ? true : false; 4268 4269 // if(checkSidebar) { 4270 // checkTarget = ($this.has($('.siteLANG')).length>0 || $this.hasClass('siteLANG')) ? 'sidebarSiteLang' : 'sidebarFixedMenu'; 4271 // } else { 4272 // checkTarget = 'topFixedMenu' 4273 // } 4274 4275 // return checkTarget; 4276 // } 4277 // } 4278 4279 var setLoginLogoutAttribute = function(check_login,nav,display) { 4280 if(!check_login) { 4281 nav.find('.siteUM').removeClass('dropdown').find('.cl-login').show().removeClass(display).addClass(display); 4282 nav.find('.siteUM').find('.cl-logout').hide(); 4283 } else { 4284 nav.find('.siteUM').find('.cl-login').hide(); 4285 nav.find('.siteUM').find('.cl-logout').show(); 4286 nav.find('.siteUM').find('.dropdown-menu').remove(); 4287 } 4288 } 4289 4290 var getJoinCollectionsList = function(sid) { 4291 var returnHtml = ''; 4292 $.ajax({ 4293 url: '/umember/collections', 4294 type: 'post', 4295 data: { sid : sid }, 4296 dataType: 'html', 4297 success: function (list_html) { 4298 // $('.order-list-area').html(list_html); 4299 returnHtml += list_html; 4300 }, error: function () { 4301 4302 }, complete: function () { 4303 // $.processOFF(); 4304 } 4305 }); 4306 4307 return returnHtml; 4308 } 4309 4310 /***********************************************************************************************************************************member-config page START*/ 4311 var activePrev = $('#join-activate').selectpicker('val'); 4312 $('#join-activate, #join-language, #join-approval, #join-display, #join-captcha').live('change', function () { 4313 var key = $(this).attr('id').replace(/join-/gi,''), 4314 val = ($(this).is('select')) ? $(this).val() : $(this).prop('checked'); 4315 4316 $.ajax({ 4317 type: 'POST', 4318 url: '/umember/update/type/condition', 4319 data: { sid : SID, key : key, val : val }, 4320 dataType: 'json', 4321 async: true, 4322 success: function(data) { 4323 if(typeof data.error != 'undefined' && data.error) { 4324 alert(data.error); 4325 return false;
4326 } 4327 if(data.cert_use !== undefined && data.cert_use) { 4328 $('#join-activate').selectpicker('val', activePrev); 4329 var modal_str = $.lang[LANG]['manager.cert.disable.option.txt']; 4330 $(this).showModalFlat($.lang[LANG]['manager.cert.disable.option'], modal_str,true,false,'','ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0 cl-okbtn-pbt70 site-umember-modal'); 4331 return false; 4332 } 4333 activePrev = val; 4334 4335 if(val == '0') { 4336 $('#section-top-menu li').addClass('disabled-cert'); 4337 } else { 4338 $('#section-top-menu li').removeClass('disabled-cert'); 4339 } 4340 } 4341 }); 4342 }); 4343 4344 $(document).off('click', '.mng-settings[data-type="collection"] .collection-item-used, .mng-settings[data-type="collection"] .collection-item-optional') 4345 .on('click', '.mng-settings[data-type="collection"] .collection-item-used, .mng-settings[data-type="collection"] .collection-item-optional', function() { 4346 if($(this).closest('.checkboxs').hasClass('disabled')) { 4347 var modal = $(this).showModalFlat($.lang[LANG]['config.information'], $.lang[LANG]['manager.check.collection.required.message'], true, false, '', 'ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0'); 4348 return false; 4349 } 4350 4351 var cl_val = $(this).prop('checked'), 4352 item_seq = $(this).parents('.collection-item').attr('data-seq'), 4353 jcol_name = $(this).parents('.collection-item').find('.collection-name').text(), 4354 update_data = {}, 4355 jcol_data = {}, 4356 d_index = 0, 4357 check_class = $(this).attr('class').replace(/collection-item-/gi,''); 4358 4359 check_class = (check_class=='optional') ? 'require' : check_class; 4360 4361 jcol_data[0] = { 4362 seq : item_seq, 4363 [check_class] : cl_val.toString() 4364 } 4365 4366 if (check_class === 'used' && cl_val.toString() === 'false' && $(this).closest('.use-option-check').find('.collection-item-optional').prop('checked') === true) { 4367 jcol_data[0]['require'] = 'false'; 4368 $(this).closest('.use-option-check').find('.collection-item-optional').prop('checked', false); 4369 } 4370 if (check_class === 'require' && cl_val.toString() === 'true' && $(this).closest('.use-option-check').find('.collection-item-used').prop('checked') === false) { 4371 jcol_data[0]['used'] = 'true'; 4372 $(this).closest('.use-option-check').find('.collection-item-used').prop('checked', true); 4373 } 4374 4375 $.ajax({ 4376 type: 'POST', 4377 url: '/umember/setJoinCollections/type/jcol_update', 4378 data: { sid: SID, update_data: jcol_data }, 4379 dataType: 'json', 4380 async: true, 4381 success: function(data) { 4382 if(typeof data.error != 'undefined' && data.error) { 4383 alert(data.error); 4384 return false; 4385 } 4386 4387 var slog_val = check_class+'.'+cl_val.toString(), 4388 slog_field = {'field_name':jcol_name}; 4389 setSiteLogs('um.config.collection.new',slog_val,slog_field,'um.config.collection.new'); 4390 }, 4391 complete: function () { 4392 $.processOFF(); 4393 } 4394 }); 4395 }); 4396 4397 $('.cl-s-join-collections-etcwrap[data-jcoltype="memo"] textarea').live({ 4398 focus : function(e){ 4399 $(this).parents('.cl-s-join-collections-etcwrap').find('.cl-s-etc').addClass('etc-mouseEnter'); 4400 if($(this).val()) { 4401 $(this).parents('.cl-s-join-collections-etcwrap').find('.cl-s-etc').removeClass('textarea-active').addClass('textarea-active'); 4402 } else { 4403 $(this).parents('.cl-s-join-collections-etcwrap').find('.cl-s-etc').removeClass('textarea-active'); 4404 } 4405 }, 4406 focusout : function(e) { 4407 $(this).parents('.cl-s-join-collections-etcwrap').find('.cl-s-etc').removeClass('etc-mouseEnter'); 4408 $(this).parents('.cl-s-join-collections-etcwrap').find('.cl-s-etc').removeClass('textarea-active-text').addClass('textarea-active-text'); 4409 if($(this).val()) { 4410 $(this).parents('.cl-s-join-collections-etcwrap').find('.cl-s-etc').removeClass('textarea-active').addClass('textarea-active'); 4411 } else { 4412 $(this).parents('.cl-s-join-collections-etcwrap').find('.cl-s-etc').removeClass('textarea-active'); 4413 } 4414 } 4415 4416 }); 4417 4418 $('.mng-member .mng-settings[data-type="collection"] .collection-add').live('click',function() { 4419 4420 if($('.mng-member .collection-content').find('.collection-item.additem').length>0) { 4421 return false;
4422 } 4423 // if($('.mng-member .collection-content').find('.collection-update').length>0) { 4424 // $('.mng-member .collection-content .collection-update').find('input').focus(); 4425 // return false; 4426 // } 4427 4428 if($('.mng-member .collection-content').find('.collection-item').length==15) $(this).hide(); 4429 if($('.mng-member .collection-content').find('.collection-item').length>16) { 4430 var modal = $(this).showModalFlat('DELETE FIELD', $.lang[LANG]['manager.join.cl.item.max-add'], true, false, '', 'ok'); 4431 return false; 4432 } 4433 4434 var cl_etc_arr = $('.mng-member .collection-content .collection-item').map(function() { 4435 var cl_type = $(this).attr('data-type'); 4436 if(cl_type.match(/^etc/)) return cl_type.replace('etc',''); 4437 }).get().sort(), 4438 cl_etc = $('.collection-content .collection-item').length-6; 4439 4440 for (var i = 0; i < 10; i++) { 4441 if(typeof cl_etc_arr[i] == 'undefined' || parseInt(cl_etc_arr[i]) != (i+1) ) { 4442 cl_etc = i+1; 4443 break; 4444 } 4445 } 4446 4447 var str = collectionItem('',cl_etc); 4448 4449 $('.mng-member .collection-content').append(str) 4450 4451 4452 $('.mng-member .collection-content').find('.collection-item[data-etc="' + cl_etc + '"] .collection-edit').click(); 4453 $('.collection-type-selectbox select[name="jcollection-select-type"]').selectpicker(); 4454 4455 $('.collection-item.additem').find('.collection-config').removeClass('hide').addClass('hide'); 4456 collectionSortable('.mng-member .collection-item'); 4457 4458 }); 4459 4460 4461 4462 4463 $('.mng-member .mng-settings[data-type="collection"] .collection-edit').live('click', function() { 4464 if($('.mng-member .collection-content').find('.collection-update').length > 0 ) { 4465 return false; 4466 } 4467 var selectCl = $(this).closest('.collection-item'), 4468 cl_name = selectCl.find('.collection-name').text(), 4469 input_text = addCollectionInput(cl_name); 4470 4471 selectCl.removeClass('collection-status-edit').addClass('collection-status-edit'); 4472 $('.mng-member .collection-content').removeClass('collection-status-disabled').addClass('collection-status-disabled'); 4473 $(this).parents('.collection-item').siblings().find('.collection-config > .icons').removeClass('hide').addClass('hide'); 4474 // $(input_text).prependTo(selectCl.find('.collection-info')); 4475 // $(input_text).prependTo(selectCl); 4476 4477 // $(this).parents('.collection-item').find('.collection-info .collection-name').hide(); 4478 // $('.mng-member .collection-content').find('.collection-item').css('pointer-events','none'); 4479 // $('.mng-member .collection-content').find('.collection-update-cancel, .collection-update-save, .collection-update-name').css('pointer-events','auto'); 4480 // $('.mng-member .collection-update .collection-update-name').focus(); 4481 $('#join-collections,#mjoin-collections').sortable({cancel: '.collection-item' }); 4482 }); 4483 4484 $('.mng-member .mng-settings[data-type="collection"] .collection-delete').live('click', function() { 4485 var selectCl = $(this).closest('.collection-item'), 4486 cl_etc = (typeof selectCl.attr('data-etc') != 'undefined' && selectCl.attr('data-etc')) ? selectCl.attr('data-etc') : '', 4487 cl_field = 'etc' + cl_etc, 4488 cl_name = selectCl.find('.collection-name').text(), 4489 item_seq = $(this).parents('.collection-item').attr('data-seq'); 4490 4491 var del_modal = $(this).showModalFlat($.lang[LANG]['manager.join.cl.item.delete.title'], $.lang[LANG]['manager.join.cl.item.delete'], true, true, function() { 4492 selectCl.addClass('delete_item'); 4493 4494 $.processON(); 4495 4496 $.ajax({ 4497 type: 'POST', 4498 url: '/umember/setJoinCollections/type/jcol_delete', 4499 data: { sid: SID, d_seq : item_seq }, 4500 dataType: 'json', 4501 async: true, 4502 success: function(data) { 4503 if(typeof data.error != 'undefined' && data.error) { 4504 alert(data.error); 4505 return false; 4506 } 4507 4508 $('.mng-member .collection-content').find('.collection-item[data-etc="'+cl_etc+'"]').remove(); 4509 if($('.mng-member .collection-content').find('.collection-item').length<16) { 4510 $('.mng-member .collection-add').show(); 4511 } 4512 4513 del_modal.modal('hide'); 4514 4515 setSiteLogs('um.config.collection','delete',{'field_name':cl_name,'field':cl_field},'um.config.collection'); 4516 4517 }, 4518 complete: function () { 4519 $.processOFF(); 4520 } 4521 }); 4522 }, 'cancel',$.lang[LANG]['manager.join.cl.item.delete.btn.delete'],'cl-cmmodal cl-s-btn w560 cl-p130 cl-p0'); 4523 }); 4524 4525 4526 $('.mng-member .mng-settings[data-type="collection"] .collection-update-cancel').live('click', function() { 4527 if($('.mng-member .collection-content').find('.collection-item').length<16) $('.mng-member .collection-add').show(); 4528 if(!$(this).closest('.collection-item').find('.collection-name').text()) { 4529 $(this).closest('.collection-item').remove(); 4530 } 4531 $(this).parents('.collection-item').find('.collection-info .collection-name').show(); 4532 $('.mng-member .collection-content').find('.config-error').remove(); 4533 $('.mng-member .collection-content').find('.collection-item').removeAttr('style'); 4534 $(this).closest('.collection-update').remove(); 4535 collectionSortable(); 4536 }); 4537 4538 $('.mng-member .collection-update-save').live('click', function(e) { 4539 var selectCl = $(this).closest('.collection-item'), 4540 cl_etc = (typeof selectCl.attr('data-etc') != 'undefined' && selectCl.attr('data-etc')) ? selectCl.attr('data-etc') : '', 4541 cl_field = 'etc' + cl_etc, 4542 cl_type = selectCl.find('.collection-item-type-select').val(), 4543 cl_name = selectCl.find('.collection-update-name').val().trim(), 4544 cl_prev = selectCl.find('.collection-name').text().trim(), 4545 regexp = /^[ã±-ã ê°-í£ã -ã £a-zA-Z0-9\# ]+$/i, 4546 error_str = ''; 4547 4548 4549 $('.collection-content .config-error').remove(); 4550 $(this).parents('.collection-item').find('.collection-info .collection-name').show(); 4551 4552 if(cl_prev == cl_name) { 4553 if(selectCl.hasClass('additem')) { 4554 error_str = $.lang[LANG]['manager.join.cl.item.name.enter']; 4555 } else { 4556 $('.collection-content').find('.collection-item').removeAttr('style'); 4557 $('.collection-content').find('.collection-update').remove(); 4558 return false;
4559 } 4560 } 4561 4562 4563 if(cl_name.length == 0) error_str = $.lang[LANG]['board.enter-group-name']; 4564 else if(checkEmojis(cl_name)) error_str = $.lang[LANG]['config.unable.emoji']; 4565 else if(!regexp.test(cl_name)) error_str = $.lang[LANG]['board.allowed-chars']; 4566 else if(cl_name.length>20) error_str = $.lang[LANG]['board.enter-max-chars']; 4567 else if(cl_prev == cl_name) { 4568 if(selectCl.hasClass('additem')) { 4569 error_str = $.lang[LANG]['manager.join.cl.item.name.enter']; 4570 } else { 4571 $('.collection-content').find('.collection-item').removeAttr('style'); 4572 $('.collection-content').find('.collection-update').remove(); 4573 return false; 4574 } 4575 } else { 4576 var cl_name_list = $('.collection-content').find('.collection-name').map(function() { return $(this).text().trim(); }).get(); 4577 if($.inArray(cl_name,cl_name_list) > -1) { 4578 error_str = $.lang[LANG]['manager.join.cl.item.name.inuse']; 4579 } 4580 } 4581 4582 if(error_str.length > 0) { 4583 e.preventDefault(); 4584 $(this).parents('.collection-item').find('.collection-info .collection-name').hide(); 4585 selectCl.append('<div class="config-error collection-edit">' + error_str + '</div>'); 4586 return false; 4587 } 4588 4589 var collections = {}; 4590 $('.mng-member .collection-content').children('.collection-item').each(function() { 4591 var field = $(this).attr('data-type'), 4592 name = (field == cl_field) ? cl_name : $(this).find('.collection-name').text().trim(), 4593 type = (field == cl_field) ? cl_type : $(this).find('.collection-item-type-select').val(), 4594 used = $(this).find('.collection-item-used').prop('checked'), 4595 optional = $(this).find('.collection-item-optional').prop('checked'); 4596 4597 collections[field] = { 4598 'used' : used, 4599 'optional' : optional, 4600 'name' : name, 4601 'type' : type 4602 }; 4603 }); 4604 4605 $.ajax({ 4606 type: 'POST', 4607 url: '/umember/update/type/condition', 4608 data: { sid: SID, key: 'collections_all', val: JSON.stringify(collections) }, 4609 dataType: 'json', 4610 async: true, 4611 success: function(data) { 4612 if(typeof data.error != 'undefined' && data.error) { 4613 alert(data.error); 4614 return false; 4615 } 4616 4617 if(selectCl.hasClass('additem')) { 4618 selectCl.removeClass('additem'); 4619 selectCl.find('#collection-item-used-additem').removeAttr('id').attr('id','collection-item-used-'+cl_field); 4620 // selectCl.find('label[for="collection-item-used-additem"]').removeAttr('for').attr('for','collection-item-used-'+cl_field); 4621 selectCl.find('#collection-item-optional-additem').removeAttr('id').attr('id','collection-item-optional-'+cl_field); 4622 // selectCl.find('label[for="collection-item-optional-additem"]').removeAttr('for').attr('for','collection-item-optional-'+cl_field); 4623 } 4624 selectCl.find('.collection-name').text(cl_name); 4625 4626 $('.collection-content').find('.config-error').remove(); 4627 $('.collection-content').find('.collection-item').removeAttr('style'); 4628 selectCl.find('.collection-update').remove(); 4629 collectionSortable(); 4630 4631 4632 var checkAdd = (cl_prev == '') ? true : false, 4633 slog_val = (checkAdd) ? 'add' : 'edit',
4634 slog_field = (checkAdd) ? {'field_name':cl_name,'field':cl_field} : {'field_name':cl_prev,'field':cl_field,'before':cl_prev,'after':cl_name}; 4635 setSiteLogs('um.config.collection',slog_val,slog_field,'um.config.collection'); 4636 4637 } 4638 }); 4639 }); 4640 4641 4642 $('#config-acces-terms, #config-privacy, #config-privacy-join, #config-privacy-nonmem, #config-description').live('blur', function(e) { 4643 var blur_id = $(this).attr('id'), 4644 key = blur_id.replace(/config-/gi,'').replace(/-/gi,'_'), 4645 val = $(this).val().trim(), 4646 mng_settings_el = $(this).closest('.mng-settings'); 4647 4648 if(key.charAt(0) == 'm') key = key.substring(1,key.length); 4649 4650 $.ajax({ 4651 type: 'POST', 4652 url: '/umember/update/type/condition', 4653 data: { sid : SID, key : key, val : val }, 4654 dataType: 'json', 4655 async: true, 4656 success: function(data) { 4657 if(typeof data.error != 'undefined' && data.error) { 4658 alert(data.error); 4659 return false; 4660 } 4661 mngShowToast('check', $.lang[LANG]['manager.check.save.text'] , mng_settings_el); 4662 4663 if(typeof data.val != 'undefined' && val == '') { 4664 $('#'+blur_id).val(data.val); 4665 } 4666 } 4667 }); 4668 4669 }); 4670 4671 4672 /*ê°ì ìì§ í목 : type ë³ê²½ 기ë¥(ì¶í) ì¬ì©ëë ë¶ë¶.*/ 4673 $('.mng-settings[data-type="collection"] .collection-toggle').live('click', function() { 4674 $(this).closest('.collection-item').toggleClass('item-content-open'); 4675 if($(this).closest('.collection-item').hasClass('item-content-open')) { 4676 $(this).removeClass('fa-angle-down').addClass('fa-angle-up'); 4677 // $(this).closest('.collection-item').find('.collection-item-content').removeAttr('style'); 4678 } else { 4679 $(this).removeClass('fa-angle-up').addClass('fa-angle-down'); 4680 // $(this).closest('.collection-item').find('.collection-item-content').css('display','none'); 4681 } 4682 }); 4683 4684 4685 $('.mng-siteUM-modal .profile-image-wrap,#my-image-modal .profile-image-wrap').live({ 4686 click: function() { 4687 var checkFirstStep = ($(this).find('#profileMyImg').length > 0) ? false : true; 4688 if(checkFirstStep) $('.mng-siteUM-modal .my-image-edit').click(); 4689 else $('#profileUMFileupload').click(); 4690 } 4691 }); 4692 4693 $('#profileUMFileupload').live({ 4694 click: function() { 4695 4696 var sid = $('#my-image-modal').attr('data-sid'), 4697 uid = $('#my-image-modal').attr('data-uid'); 4698 4699 $(this).fileupload({ 4700 url: '/umember/update/type/myimage/sid/'+sid+'/uid/'+uid, 4701 dataType: 'json', 4702 pasteZone: null, 4703 async: true, 4704 add: function(e, data) { 4705 $('#loading').css('left','-100%'); 4706 $.processON(); 4707 data.submit(); 4708 }, 4709 done: function(e, data) { 4710 if(typeof data.result.error != 'undefined' && data.result.error) { 4711 alert(data.result.error); 4712 $('.progress .progress-bar').css('width','0%'); 4713 $.processOFF(); 4714 return; 4715 } 4716 if(data.result.src) { 4717 $('.profile-image-wrap .my-image').prop('src',data.result.src); 4718 if($('.dashboard._admin_dashboard').length > 0) $('#dashboard-image-top image').attr('xlink:href',data.result.src); 4719 if($('#mobile-nav').length > 0) $('#mobile-nav .login-profile img').prop('src',data.result.src); 4720 } 4721 $.processOFF(); 4722 $('#loading').css('left','50%'); 4723 }, 4724 progressall: function(e, data) { 4725 var progress = parseInt(data.loaded / data.total * 100, 10); 4726 $('.progress .progress-bar').css( 4727 'width', 4728 progress + '%' 4729 ); 4730 }, 4731 }).prop('disabled', !$.support.fileInput) 4732 .parent().addClass($.support.fileInput ? undefined : 'disabled'); 4733 4734 } 4735 }); 4736 4737 4738 $('#uJoin').live('click', function() { 4739 var joinModal = $('#join-modal'), 4740 approval = $(this).attr('data-approval'), 4741 input_data = {}; 4742 4743 if($(this).closest('#join-modal-preview').length != 0) { 4744 $(this).showModalFlat('INFORMATION', $.lang[LANG]['manager.check.no-support.render-mode'], true, false, '', 'ok'); 4745 return false; 4746 } 4747 4748 joinModal.find('.form-group').each(function(i) { 4749 var inputEL = $(this).find('input.form-control'), 4750 errorEL = $(this).find('.error'), 4751 field = inputEL.attr('id').trim().replace(/input-/,''), 4752 val = inputEL.val(), 4753 optional = $(this).hasClass('optional'), 4754 empty_class = (optional && val.trim().length == 0) ? 'empty' : '', 4755 error_str = (optional && val.trim().length == 0) ? $.lang[LANG]['manager.check.required.message'] : ''; 4756 4757 if(!error_str && val.trim().length > 0) { 4758 switch(field) { 4759 case 'password-checked': 4760 if(joinModal.find('#input-password').val().trim() != val.trim()) { 4761 error_str = $.lang[LANG]['siteum.regexp.pw.invalid']; 4762 } 4763 break; 4764 4765 default: 4766 if(typeof COLLECTION_REGEX[field] != 'undefined' && COLLECTION_REGEX[field]) { 4767 var pattern = COLLECTION_REGEX[field]['pattern_j'], 4768 reg = new RegExp(pattern); 4769 if(!reg.test(val)) error_str = COLLECTION_REGEX[field]['error']; 4770 } 4771 break; 4772 } 4773 } 4774 4775 4776 if(error_str.length > 0) { 4777 if(errorEL.length > 0) errorEL.text(error_str); 4778 else $(this).append('<span class="error ' + empty_class + '">' + error_str + '</span>'); 4779 4780 if(joinModal.find('.focus').length == 0) inputEL.focus(); 4781 } else { 4782 errorEL.remove(); 4783 if(field == 'id') val = val.toLowerCase(); 4784 if(field == 'password') val = hex_md5(val); 4785 if(field == 'email') val = val.toLowerCase(); 4786 4787 if(field != 'password-checked') input_data[field] = val; 4788 } 4789 4790 input_data['wr_key'] = $("#wr_key").val(); 4791 }); 4792 4793 if(!joinModal.find('.kcaptcha-wrap').hasClass('hide')) { 4794 var captcha = joinModal.find('#wr_key'), 4795 val = captcha.val(), 4796 captcha_error = captcha.next('label.error'), 4797 error_str = ''; 4798 4799 if( val.trim().length == 0 ) { 4800 error_str = $.lang[LANG]['manager.join.regexp.captcha']; 4801 } else if( val && (Base64.encode(val.trim()) != md5_norobot_key)) { 4802 error_str = $.lang[LANG]['manager.join.regexp.captcha.wrong']; 4803 } 4804 4805 if( error_str.length > 0 ) { 4806 if(captcha_error.length > 0) captcha_error.text(error_str); 4807 else captcha.after('<label class="error">' + error_str + '</label>'); 4808 4809 if(joinModal.find('.focus').length == 0) captcha.focus(); 4810 } else { 4811 captcha_error.remove(); 4812 } 4813 } 4814 4815 4816 if(joinModal.find('.error').length == 0) { 4817 4818 var sid = joinModal.attr('data-sid'); 4819 $.post('/umember/join/update', { sid : sid, data : JSON.stringify(input_data) }, function(data) { 4820 if(typeof data.error != 'undefined' && data.error) { 4821 $.each(data.error, function(key,str) {
4822 if(joinModal.find('#input-'+key).length > 0 ) { 4823 joinModal.find('#input-'+key).focus(); 4824 joinModal.find('#input-'+key).closest('.form-group').append('<span class="error">' + str + '</span>'); 4825 } else { alert(str,'/manager/member'); return false; } 4826 }); 4827 if(joinModal.find('.error').length > 0) return false; 4828 } 4829 4830 if(typeof userSiteJoinCallback == 'function') 4831 userSiteJoinCallback(); 4832 4833 var okModal = $(this).showModalFlat('INFORMATION', $.lang[LANG]['manager.join.success.'+approval], true, false, '', $.lang[LANG]['config.close']); 4834 $.umember.joinModalInit(); 4835 joinModal.modal('hide'); 4836 },'json'); 4837 4838 } 4839 4840 4841 }); 4842 4843 4844 $('.view-join-textarea').live('click', function() { 4845 var sid = $(this).closest('.modal-default').attr('data-sid'), 4846 type = $(this).attr('data-type').replace(/-/gi,'_'); 4847 4848 $.post('/umember/get/type/join', { sid : sid, field : type }, function(data) { 4849 if(typeof data.error != 'undefined' && data.error) { 4850 alert(data.error); 4851 return false; 4852 } 4853 4854 $('#join-textarea').html(data); 4855 if($('#join-textarea').css('display') == 'none') $('#join-textarea').fadeIn(); 4856 4857 }, 'json'); 4858 4859 }); 4860 4861 4862 $('#uLogin').live('click', function() { 4863 var loginModal = $('#login-modal'), 4864 input_data = {}; 4865 4866 loginModal.find('.form-group').each(function(i) { 4867 var inputEL = $(this).find('input.form-control'), 4868 errorEL = $(this).find('.error'), 4869 field = inputEL.attr('id').trim().replace(/input-/,''), 4870 val = inputEL.val(), 4871 error_str = (val.trim().length == 0) ? $.lang[LANG]['siteum.regexp.'+field+'.input'] : ''; 4872 4873 if(error_str.length > 0 ) { 4874 if(errorEL.length > 0) errorEL.text(error_str); 4875 else $(this).append('<span class="error">' + error_str + '</span>'); 4876 4877 if(loginModal.find('.focus').length == 0) inputEL.focus(); 4878 } else { 4879 errorEL.remove(); 4880 if(field == 'id') val = val.trim().toLowerCase(); 4881 if(field == 'password') val = hex_md5(val); 4882 input_data[field] = val; 4883 } 4884 }); 4885 4886 if(loginModal.find('.error').length == 0) { 4887 4888 var sid = loginModal.attr('data-sid'); 4889 $.post('/umember/login/in', { sid : sid, data : JSON.stringify(input_data) }, function(data) { 4890 4891 if(typeof data.error != 'undefined' && data.error) { 4892 $.each(data.error, function(key,str) { 4893 if(loginModal.find('#input-'+key).length > 0 ) { 4894 loginModal.find('#input-'+key).closest('.form-group').append('<span class="error">' + str + '</span>'); 4895 } else { alert(str,'/manager/member'); return false; } 4896 }); 4897 if(loginModal.find('.error').length > 0) return false; 4898 } 4899 4900 $.umember.loginModalInit(); 4901 $.umember.init(); 4902 loginModal.modal('hide'); 4903 4904 if(data.member.check_login) { 4905 if(typeof data.ss_url != 'undefined' && data.ss_url) { 4906 $.each(data.ss_url, function(i,url) { 4907 $('.dsgn-body').after('<img class="auth-img" src="' + url + '">'); 4908 }); 4909 } 4910 4911 if(typeof data.ga_uid != 'undefined' && data.ga_uid) { 4912 localStorage.setItem('googleAnalyticsUID'+sid, data.ga_uid); 4913 } 4914 } 4915 4916 if($('.menu-lock-block').length > 0 || $('.forum-view').length > 0) location.reload(); 4917 if($('.element[data-type="latest"]').find('.latest-table-loop').hasClass('latest-table-empty')) location.reload(); 4918 if($('.element[data-type="forum"]').length > 0) { 4919 if( 4920 $('.element[data-type="forum"]').find('.tpl-forum-list-title[data-option="S"]').length > 0 || 4921 $('.element[data-type="forum"]').find('.container .table tr > td[colspan="10"]').length > 0 || 4922 $('.element[data-type="forum"]').find('.tpl-forum-write:contains(login)').length > 0 4923 ) location.reload(); 4924 } 4925 4926 $('.gallery-item').each(function () { 4927 if ($(this).hasClass('nonePrice')) { 4928 location.reload(); 4929 } 4930 }); 4931 4932 },'json'); 4933 4934 } 4935 4936 }); 4937 4938 $('#uForgotID').live('click', function() { 4939 var forgotIDModal = $('#forgotid-modal'), 4940 input_data = ''; 4941 4942 var groupEL = forgotIDModal.find('.form-group'), 4943 errorEL = groupEL.find('.error'), 4944 val = forgotIDModal.find('input.form-control').val(), 4945 regexp = /^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/i, 4946 error_str = (val.trim().length == 0) ? $.lang[LANG]['siteum.regexp.email.input'] : ''; 4947 4948 if(error_str.length == 0 && !regexp.test(val)) { 4949 error_str = $.lang[LANG]['siteum.regexp.check.email']; 4950 } 4951 4952 if(error_str.length > 0 ) { 4953 if(errorEL.length > 0) errorEL.text(error_str); 4954 else groupEL.append('<span class="error">' + error_str + '</span>'); 4955 4956 groupEL.find('input').focus(); 4957 } else { 4958 errorEL.remove(); 4959 input_data = val.toLowerCase(); 4960 } 4961 4962 if(forgotIDModal.find('.error').length == 0) { 4963 4964 $.post('/umember/password/forgot', { fn:'id', email:input_data }, function(data) { 4965 if(typeof data.error != 'undefined' && data.error) { 4966 $.each(data.error, function(key,str) {
4967 if(forgotIDModal.find('#input-'+key).length > 0 ) { 4968 forgotIDModal.find('#input-'+key).closest('.form-group').append('<span class="error">' + str + '</span>'); 4969 forgotIDModal.find('#input-'+key).focus(); 4970 } else { return false; } 4971 }); 4972 if(forgotIDModal.find('.error').length > 0) return false; 4973 } 4974 4975 forgotIDModal.find('input.form-control').val(''); 4976 var num = ((data.uid.length/3)*2).toFixed(0), 4977 uid = data.uid.substr(0,num); 4978 for(var i=0; i<(data.uid.length-num); i++) { 4979 uid += '*'; 4980 } 4981 forgotIDModal.find('.modal-body').children(':not(.forgot-id-result)').css({'opacity':0.4}); 4982 forgotIDModal.find('.modal-footer').children('button').css({'opacity':0.4, 'pointer-events':'none'}); 4983 forgotIDModal.find('.modal-body').find('.forgot-id-result').text(uid); 4984 4985 },'json'); 4986 4987 } 4988 4989 }); 4990 4991 $('#uForgotPW').live('click', function() { 4992 var forgotPWModal = $('#forgotpw-modal'), 4993 input_data = {}; 4994 4995 forgotPWModal.find('.form-group').each(function(i) { 4996 var inputEL = $(this).find('input.form-control'), 4997 errorEL = $(this).find('.error'), 4998 field = inputEL.attr('id').trim().replace(/input-/,''), 4999 val = inputEL.val(), 5000 regexp = /^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/i, 5001 error_str = (val.trim().length == 0) ? $.lang[LANG]['siteum.regexp.'+field+'.input'] : ''; 5002 5003 if(error_str.length == 0 && field == 'email' && !regexp.test(val)) { 5004 error_str = $.lang[LANG]['siteum.regexp.check.email']; 5005 } 5006 5007 if(error_str.length > 0 ) { 5008 if(errorEL.length > 0) errorEL.text(error_str); 5009 else $(this).append('<span class="error">' + error_str + '</span>'); 5010 5011 if(forgotPWModal.find('.focus').length == 0) inputEL.closest('.form-group').addClass('focus').find('input').focus(); 5012 } else { 5013 errorEL.remove(); 5014 input_data[field] = val.toLowerCase(); 5015 } 5016 }); 5017 5018 if(forgotPWModal.find('.error').length == 0) { 5019 5020 $.post('/umember/password/forgot', { fn:'pw', uid:input_data['id'], email:input_data['email'] }, function(data) { 5021 if(typeof data.error != 'undefined' && data.error) { 5022 $.each(data.error, function(key,str) { 5023 if(forgotPWModal.find('#input-'+key).length > 0 ) { 5024 forgotPWModal.find('#input-'+key).closest('.form-group').append('<span class="error">' + str + '</span>'); 5025 forgotPWModal.find('#input-'+key).focus(); 5026 } else { return false; } 5027 }); 5028 if(forgotPWModal.find('.error').length > 0) return false; 5029 } 5030 forgotPWModal.find('input.form-control').val(''); 5031 forgotPWModal.modal('hide'); 5032 5033 var modal = $(this).showModalFlat('INFORMATION', data.result, true, false, '', 'ok'); 5034 // var modal = $(this).showModalFlat('INFORMATION', '<h3>ì´ë©ì¼ ë°ì¡ ìë£!</h3><p>ë¹ë°ë²í¸ ì¬ì¤ì ë§í¬ íì¸ ë° ë³ê²½ì ìí ì´ë©ì¼ì íì¸íì¸ì.</p>', true, false, '', 'ok'); 5035 5036 },'json'); 5037 5038 } 5039 5040 }); 5041 5042 5043 5044 /* [Fixed menu link] Click*/ 5045 $(` .siteUM .join, 5046 .siteUM .login, 5047 .siteUM .logout, 5048 .siteUM .forgot-id, 5049 .siteUM .forgot-pw, 5050 .siteUM .dashboard, 5051 .siteUM .mypage, 5052 .siteUM-dmenu-wrap .mypage, 5053 .siteUM-dmenu-wrap .logout, 5054 .cl-fixed-menu#fixed-menu .logout.cl-umMenu, 5055 .cl-fixnav-item.loginout a.login, 5056 .cl-fixnav-item.loginout a.logout, 5057 .cl-nav .clnav-mobile-btn.mypage .cl-fixsubnav-item > a.dashboard, 5058 .cl-nav .clnav-mobile-btn.mypage .cl-fixsubnav-item > a.logout, 5059 .clnav-sidemobile .section-area.user > .login, 5060 .clnav-sidemobile .section-area.user > .logout, 5061 .clnav-sidemobile .cl-fixsubnav-item > a.logout, 5062 #mobile-nav .dashboard 5063 `).live({ 5064 click: function(e) { 5065 e.preventDefault(); 5066 5067 if(typeof PAGE_MODE != 'undefined' && PAGE_MODE == 's' && property.SITEFIXEDLANG && property.SITEFIXEDLANG != LANG) { 5068 LANG = property.SITEFIXEDLANG; 5069 } 5070 var sid = (typeof SID != 'undefined' && SID) ? SID : property.SID; 5071 5072 5073 var possible_page = ['s', 'um']; 5074 if(typeof PAGE_MODE != 'undefined' && PAGE_MODE && $.inArray(PAGE_MODE,possible_page) == -1) { 5075 var str = (PAGE_MODE == 'r') ? $.lang[LANG]['manager.check.no-support.render-mode'] : $.lang[LANG]['manager.check.no-support.config-mode']; 5076 if($.clnav.check()) str = ''; 5077 if(str != '') $(this).showModalFlat('INFORMATION',str,true,false,'','ok'); 5078 return false;
5079 } else { 5080 5081 var checkUAdminMode = ($('header').hasClass('_admin')) ? true : false, 5082 s_validtype = (typeof VALIDTYPE != 'undefined' && VALIDTYPE) ? VALIDTYPE : ((typeof property != 'undefined' && property) ? property.VALIDTYPE : ''), 5083 s_siteum = (typeof SITEUM != 'undefined' && SITEUM) ? SITEUM : ((typeof property != 'undefined' && property) ? property.SITEUM : -1), 5084 checkShoppingUM = (!checkUAdminMode && s_validtype == 'SM') ? true : false, 5085 service = (typeof SERVICE == 'undefined') ? ((typeof property == 'undefined') ? '' : property.SERVICE) : SERVICE, 5086 checkGabia = (service.indexOf('gabia') > -1) ? true : false; 5087 5088 if($(this).hasClass('join')) { 5089 5090 var mode = (typeof $(this).attr('data-preview') == 'undefined') ? '' : 'preview'; 5091 if(mode == 'preview') { 5092 var checkUadmin = ($('.mng-dashboard').hasClass('_admin')) ? true : false, 5093 check_url = (checkUadmin) ? '/_admin/dashboard/checkDomainConnect' : '/dashboard/checkDomainConnect', 5094 domains_flag = false; 5095 $.ajax({ 5096 url: check_url, 5097 type:'post', 5098 dataType:'json', 5099 data:{'sid' : SID}, 5100 success:function(data) { 5101 5102 var domain = sid + '.' + getServiceHost(location.host); 5103 if(data.domains_active_list.length) { 5104 domain = data.domains_active_list[0].zone_domain; 5105 } else if(checkUadmin) { 5106 domain = getServiceHost(location.host); 5107 } 5108 5109 var http_str = (checkGabia) ? 'http://' : '//'; 5110 window.open(http_str + domain + '/_register/preview', '_blank'); 5111 } 5112 }); 5113 } else { 5114 location.href = '/_register'; 5115 return false; 5116 } 5117 5118 /* 5119 if(checkShoppingUM) { 5120 location.href = '/_register'; 5121 return false; 5122 } 5123 5124 var mode = (typeof $(this).attr('data-preview') == 'undefined') ? '' : 'preview'; 5125 var joinModal = $.umember.showJoinModal(sid,mode); 5126 */ 5127 } else if($(this).hasClass('login')) { 5128 5129 location.href = (location.port) ? '/_login' : 'https://'+location.host+'/_login'; 5130 return false; 5131 /* 5132 if($('#join-modal-preview').length > 0) { 5133 $(this).showModalFlat('INFORMATION', $.lang[LANG]['manager.check.no-support.render-mode'], true, false, '', 'ok'); 5134 return false; 5135 } 5136 5137 if($('header').hasClass('_admin')) { //goto url -> uadmin login page 5138 if($(this).closest('#join-modal-preview').length >0) { 5139 $(this).showModalFlat('INFORMATION', $.lang[LANG]['manager.check.no-support.render-mode'], true, false, '', 'ok'); 5140 return false; 5141 } 5142 if(location.pathname == '/_admin') $('.flat-modal[class*="mng-"] .modal').modal('hide'); 5143 else location.replace('/_admin'); 5144 return false; 5145 } 5146 5147 if(checkShoppingUM) { 5148 location.href = (location.port) ? '/_login' : 'https://'+location.host+'/_login'; 5149 return false; 5150 } 5151 5152 if(typeof s_siteum != 'undefined' && s_siteum > 0) var loginModal = $.umember.showLoginModal(sid); 5153 else return false; 5154 */ 5155 } else if($(this).hasClass('forgot-id')) { 5156 /* 5157 var forgotIDModal = $.umember.showForgotIDModal(sid); 5158 */ 5159 } else if($(this).hasClass('forgot-pw')) { 5160 /* 5161 var forgotPWModal = $.umember.showForgotPWModal(sid); 5162 */ 5163 } else if($(this).hasClass('logout')) { 5164 $.getJSON('/umember/login/out', function(r) { 5165 if($.cookie('cert_popup') !== undefined) { 5166 $.removeCookie('cert_popup', true, { path: '/', expires: 12 * 60 * 60 * 1000 }); 5167 } 5168 5169 if(typeof sid!='undefined' && sid) { 5170 if($.cookie('domainSet-next-'+sid) !== undefined) $.removeCookie('domainSet-next-'+sid, { path: '/' }); 5171 } 5172 5173 var load_url = (typeof r.url != 'undefined' && r.url) ? r.url : '/'; 5174 if($('header').hasClass('_admin')) location.href = load_url; 5175 else if(s_validtype == 'SM') location.href = load_url; 5176 else location.reload(); 5177 },'json'); 5178 } else if($(this).hasClass('dashboard')) { 5179 $.getJSON('/umember/goDashboard', function(r) { 5180 if(typeof r.url != 'undefined' && r.url) location.href = r.url; 5181 },'json'); 5182 } else if($(this).hasClass('mypage')) { 5183 if(checkUAdminMode) { 5184 location.replace('/_myinfo'); 5185 } else { 5186 if(s_validtype == 'BN') { 5187 location.replace('/_mypost'); 5188 } else { 5189 location.replace('/_mypage'); 5190 } 5191 } 5192 5193 return false;
5194 /* 5195 if(checkShoppingUM && $(this).attr('href') == 'javascript:;') { 5196 location.replace('/_mypage'); 5197 return false; 5198 } 5199 5200 var mypageModal = $.umember.showMypageModal(sid); 5201 */ 5202 } 5203 } 5204 5205 } 5206 }); 5207 5208 5209 /*************************************************************************************************************************************member-config page END*/ 5210 5211 5212 5213 /*************************************************************************************************************************************member-list page START*/ 5214 $('.mng-settings.memberlist[data-type="member-list"] .mng-selectboxlist select.form-control').live('change',function() { 5215 // var sfl_type = $(this).attr('id').replace('sfl_',''), 5216 // val = $(this).val(); 5217 // location.replace('/manager/member/list/page/1/'+sfl_type+'/'+val); 5218 5219 var url_str = ($('header').hasClass('_admin')) ? '/_admin/member/list' : '/manager/member/list', 5220 sfl_sort = $(this).parents('.mng-list').find('.mng-subMenu-list').find('#sfl_sort').val(), 5221 sfl_view = $(this).parents('.mng-list').find('.mng-subMenu-list').find('#sfl_view').val(), 5222 stx = $(this).parents('.mng-list').find('.mng-search-box').find('#stx').val(); 5223 5224 location.replace(url_str+'/page/1/sort/'+sfl_sort+'/view/'+sfl_view); 5225 }); 5226 5227 $('.mng-settings.memberlist[data-type="member-list"] .mng-search-box .search-btn').live('click',function(e) { 5228 var url_str = ($('header').hasClass('_admin')) ? '/_admin/member/list' : '/manager/member/list', 5229 sfl_sort = $(this).parents('.mng-list').find('.mng-subMenu-list').find('#sfl_sort').val(), 5230 sfl_view = $(this).parents('.mng-list').find('.mng-subMenu-list').find('#sfl_view').val(), 5231 stx = $(this).parents('.mng-search-box').find('#stx').val(); 5232 5233 if(checkEmojis(stx)) { 5234 e.preventDefault(); 5235 errorEmojisModal(); 5236 return false; 5237 } 5238 5239 setSiteLogs('um.list','search',{'stx':stx},'um.list'); 5240 5241 if(stx.length > 0) stx = '/stx/'+stx; 5242 location.replace(url_str+'/page/1/sort/'+sfl_sort+'/view/'+sfl_view+stx); 5243 }); 5244 5245 $('.mng-settings[data-type="member-list"] .mng-sortBtn').live('click',function() { 5246 if ($('.mng-sortBtn').hasClass('active') === true) { 5247 $('.mng-sortBtn').removeClass('active'); 5248 $('.mng-sortlistWrap').hide(); 5249 } else { 5250 $('.mng-sortBtn').addClass('active'); 5251 $('.mng-sortlistWrap').show(); 5252 } 5253 }); 5254 5255 $('body').click(function(e){ 5256 if($(e.target).parents('.mng-sortWrap').length==0) { 5257 $('.mng-sortBtn').removeClass("active"); 5258 $('.mng-sortlistWrap').hide(); 5259 } 5260 }); 5261 5262 $('.member-message-btn').live('click', function() { 5263 if($(this).hasClass('member_disabled')) { 5264 siteNotice('manager'); 5265 return false; 5266 } 5267 var check_data = getMemberListCheckData($(this)), 5268 mng_settings_el = $(this).closest('.mng-settings'); 5269 5270 if( typeof check_data.error != 'undefined' && check_data.error) { 5271 $(this).showModalFlat('INFORMATION', check_data.error, true, false, '', 'ok'); 5272 return false; 5273 } 5274 5275 var first_name = (LANG == 'en' && check_data.count > 0) ? '' : '<span class="addressee-name">' + check_data.name + '</span> ' + ((check_data.count == 0) ? $.lang[LANG]['manager.list.member.str'] : ''), 5276 others_name = (LANG == 'en' || check_data.count < 1) ? '' : $.lang[LANG]['manager.list.member.selected.multi.1'] + '\ 5277 <span class="addressee-count point" data-toggle="tooltip" data-placement="bottom" data-html="true" data-original-title="' + check_data.names + '">\ 5278 ' + check_data.count + '</span>' + $.lang[LANG]['manager.list.member.selected.multi.2'], 5279 last_name = (LANG == 'en' && check_data.count > 0) ? $.lang[LANG]['manager.list.member.selected.multi.3'] : '', 5280 selected_str = $.lang[LANG]['manager.list.member.message.txt.1'] + first_name + others_name + last_name + $.lang[LANG]['manager.list.member.message.txt.2']; 5281 5282 var modal_content = '\ 5283 <div class="mng-modal-body message-modal">\ 5284 <p class="desc">\ 5285 ' + selected_str + '\ 5286 </p>\ 5287 <div class="form-group">\ 5288 <input type="text" class="form-control" id="message-title" placeholder="ì 목" />\ 5289 </div>\ 5290 <div class="form-group clearfix">\ 5291 <textarea class="form-control" name="" id="message-content"
5291cols="30" rows="2" placeholder="ë´ì©"></textarea>\ 5292 <label for="message-content"><span class="write-count">0</span>/1000</label>\ 5293 </div>\ 5294 <div class="form-group">\ 5295 <div class="btn-wrap">\ 5296 <span class="btn btn-xs btn-white"><i class="fa fa-sticky-note-o" aria-hidden="true"></i>íì¼ì²¨ë¶</span>\ 5297 </div>\ 5298 </div>\ 5299 </div>\ 5300 '; 5301 5302 $('#message-title, #message-content').live('keyup', function() { 5303 var type = ($(this).attr('id').match(/title/) !== null) ? 'title' : 'content', 5304 str = $(this).val(); 5305 5306 if(str.length > 0) $(this).closest('.form-group').find('.mng-error').remove(); 5307 $(this).next('label').find('.write-count').text(str.length); 5308 if(str.length > 1000 && type == 'content') { 5309 $(this).val($(this).val().substring(0, 1000)); 5310 } 5311 }); 5312 5313 var message_modal = $(this).showModalFlat('SEND MESSAGE', modal_content, true, true, function() { 5314 var message_title = $('#message-title').val(), 5315 message_content = $('#message-content').val(); 5316 5317 if(message_title.length == 0) { 5318 $('#message-title').focus(); 5319 $('#message-title').closest('.form-group').append('<div class="mng-error">ì 목ì ì ë ¥íì¸ì</div>'); 5320 return false; 5321 } 5322 if(message_content.length == 0) { 5323 $('#message-content').focus(); 5324 $('#message-content').closest('.form-group').append('<div class="mng-error">ë´ì©ì ì ë ¥íì¸ì</div>'); 5325 return false; 5326 } 5327 //ë©ìì§ ì ì¡ ê¸°ë¥ ìì . 5328 5329 message_modal.modal('hide'); 5330 mngShowToast('check', 'ì ì¡ ìë£', mng_settings_el); 5331 5332 }, 'cancel', 'send', 'w480'); 5333 }); 5334 5335 5336 5337 5338 /*$('.member-sms-btn').live('click', function() { 5339 var check_data = getMemberListCheckData($(this)), 5340 mng_settings_el = $(this).closest('.mng-settings'); 5341 5342 if( typeof check_data.error != 'undefined' && check_data.error) { 5343 $(this).showModalFlat('INFORMATION', check_data.error, true, false, '', 'ok'); 5344 return false; 5345 } 5346 5347 var others_str = (check_data.count<1) ? '' : ' ì¸ <span class="addressee-count point" data-toggle="tooltip" data-placement="bottom" data-html="true" data-original-title="' + check_data.names + '">' + check_data.count + '</span> ëª '; 5348 var modal_content = '\ 5349 <div class="mng-modal-body sms-modal">\ 5350 <p class="desc">\ 5351 <span class="addressee-name">' + check_data.name + '</span> \ 5352 ' + others_str + ' ìê² SMS를 ë³´ë ëë¤.\ 5353 </p>\ 5354 <div class="sms-recharge-btn-wrap">\ 5355 <div>ìì¬ SMS <span class="sms-count point">8</span>ê±´ </div>\ 5356 <span class="sms-recharge-btn btn btn-xs btn-white">ì¶©ì í기</span>\ 5357 </div>\ 5358 <div class="form-group">\ 5359 <input type="text" class="form-control" id="sms-title" placeholder="ë³´ë´ë ë²í¸" />\ 5360 </div>\ 5361 <div class="form-group clearfix">\ 5362 <textarea class="form-control" name="" id="sms-content" cols="30" rows="2" placeholder="ë´ì©"></textarea>\ 5363 <label for="sms-content"><span class="write-count">0</span>/90 Byte</label>\ 5364 <span class="info">90ë°ì´í¸ê° ì´ê³¼ë ê²½ì° MSë¡ ì íëì´ 3ê±´ì SMSê° ì°¨ê°ë©ëë¤.</span>\ 5365 </div>\ 5366 <div class="form-group clearfix">\ 5367 <div class="btn-wrap pull-left">\ 5368 <span class="btn btn-xs btn-white"><i class="fa fa-sticky-note-o" aria-hidden="true"></i>íì¼ì²¨ë¶</span>\ 5369 </div>\ 5370 <div class="precautions pull-right">\ 5371 <span data-toggle="tooltip" data-placement="right" data-html="true" data-original-title="' + $.lang[LANG]['manager.list.sms.precautions'] + '"><i class="fa fa-info-circle"></i> ê´ê³ ì± SMS ì ì¡ ì 주ìì¬í</span>\ 5372 </div>\ 5373 </div>\ 5374 </div>\ 5375 '; 5376 5377 $('#sms-title, #sms-content').live('keyup', function() { 5378 var type = ($(this).attr('id').match(/title/) !== null) ? 'title' : 'content', 5379 str = $(this).val(), 5380 str_len = $(this).val().length, 5381 cbyte = 0, 5382 clen = 0, 5383 maxInputByte = 90; 5384 5385 if(str.length > 0) $(this).closest('.form-group').find('.mng-error').remove(); 5386 5387 if(type == 'content') { 5388 for(var i=0; i<str_len; i++) { 5389 var is_one_char = $(this).val().charAt(i); 5390 if(escape(is_one_char).length > 4) { 5391 cbyte += 2; //korean 1 char == 2byte 5392 } else { 5393 cbyte++; 5394 } 5395 5396 if(cbyte <= maxInputByte) { 5397 clen = i + 1; 5398 } 5399 } 5400 $(this).next('label').find('.write-count').text(parseInt(cbyte)); 5401 if(parseInt(cbyte) > parseInt(maxInputByte)) { 5402 $(this).val($(this).val().substring(0, clen)); 5403 $(this).next('label').find('.write-count').text(parseInt(maxInputByte)); 5404 } 5405 } 5406 }); 5407 5408 var sms_modal = $(this).showModalFlat('SEND SMS', modal_content, true, true, function() { 5409 var sms_title = $('#sms-title').val(), 5410 sms_content = $('#sms-content').val(); 5411 5412 if(sms_title.length == 0) { 5413 $('#sms-title').focus(); 5414 $('#sms-title').closest('.form-group').append('<div class="mng-error">ë³´ë´ì¤ ë²í¸ë¥¼ ì ë ¥íì¸ì</div>'); 5415 return false;
5416 } 5417 if(sms_content.length == 0) { 5418 $('#sms-content').focus(); 5419 $('#sms-content').closest('.form-group').append('<div class="mng-error">ë´ì©ì ì ë ¥íì¸ì</div>'); 5420 return false; 5421 } 5422 //SMS ì ì¡ ê¸°ë¥ ìì . 5423 5424 5425 sms_modal.modal('hide'); 5426 mngShowToast('check', 'ì ì¡ ìë£', mng_settings_el); 5427 5428 }, 'cancel', 'send', 'w480'); 5429 5430 $('.sms-recharge-btn').click(function() { 5431 smsRechargeModal(SID); 5432 }); 5433 5434 });/*sms*/ 5435 5436 5437 /*$('.member-level-btn .dropdown-item').live('click', function() { 5438 var level = parseInt($(this).text().trim()), 5439 check_data = getMemberListCheckData($(this)), 5440 mng_settings_el = $(this).closest('.mng-settings'); 5441 5442 if( typeof check_data.error != 'undefined' && check_data.error) { 5443 $(this).showModalFlat('INFORMATION', check_data.error, true, false, '', 'ok'); 5444 return false; 5445 } 5446 5447 var others_str = (check_data.count<1) ? '' : ' ì¸ <span class="addressee-count point" data-toggle="tooltip" data-placement="bottom" data-html="true" data-original-title="' + check_data.names + '">' + check_data.count + '</span> ëª '; 5448 var modal_content = '\ 5449 <div class="mng-modal-body level-modal">\ 5450 <p class="addressee-wrap">\ 5451 <span class="addressee-name">' + check_data.name + '</span> \ 5452 ' + others_str + ' ì íì ë 벨ì <br><span class="point">' + level + '</span> (ì¼)ë¡ ì ì©íìê² ìµëê¹?\ 5453 </p>\ 5454 </div>\ 5455 '; 5456 5457 var level_modal = $(this).showModalFlat('íì ë±ê¸ ë³ê²½', modal_content, true, true, function() { 5458 var uids = check_data.ids;ã 5459 5460 $.ajax({ 5461 type: 'POST', 5462 url: '/umember/update/type/level', 5463 data: { sid : SID, uids : uids, val : level }, 5464 dataType: 'json', 5465 async: true, 5466 success: function(data) { 5467 if(typeof data.error != 'undefined' && data.error) { 5468 // alert(data.error); 5469 if(level_modal.find('.error').length == 0) level_modal.find('.level-modal').append('<span class="error">' + data.error + '</span>'); 5470 else level_modal.find('.level-modal').find('.error').text(data.error); 5471 return false; 5472 } 5473 5474 $.each(uids, function(i,v) { 5475 $(mng_settings_el).find('.mng-list table tbody tr[data-uid="'+v+'"]').find('.level').text(level); 5476 }); 5477 5478 level_modal.modal('hide'); 5479 mngShowToast('check', 'ì ì¥ìë£', mng_settings_el); 5480 } 5481 }); 5482 5483 5484 }); 5485 5486 });/*level-all*/ 5487 5488 5489 $('#member-level-select').live('change', function() { 5490 var conf = confirm("ì ííì íìì ë 벨ì ë³ê²½íìê² ìµëê¹?"); 5491 if(conf){ 5492 var uid = $(this).closest('tr').attr('data-uid') 5493 var level = $(this).val(); 5494 5495 if(typeof uid == 'undefined' || !uid) { 5496 window.location.reload(); 5497 return false; 5498 } 5499 5500 $.ajax({ 5501 type: 'POST', 5502 url: '/umember/update/type/level', 5503 data: { sid : SID, uids : uid, val : level }, 5504 dataType: 'json', 5505 async: true, 5506 success: function(data) { 5507 if(typeof data.error != 'undefined' && data.error) { 5508 alert(data.error); 5509 return false; 5510 } 5511 5512 // setSiteLogs('um.edit','level.one',{'id':uid,'level':level},'um.list'); 5513 } 5514 }); 5515 }else{ 5516 window.location.reload(); 5517 return false; 5518 } 5519 5520 }); 5521 5522 5523 $('.member-leave-btn').live('click', function() { 5524 if($(this).hasClass('member_disabled')) { 5525 siteNotice('manager'); 5526 return false; 5527 } 5528 var check_data = getMemberListCheckData($(this)), 5529 mng_settings_el = $(this).closest('.mng-settings'); 5530 5531 if( typeof check_data.error != 'undefined' && check_data.error) { 5532 $(this).showModalFlat($.lang[LANG]['manager.list.member.selected.empty.title'], check_data.error,true,false,'','ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0 cl-member-list-block'); 5533 return false; 5534 } 5535 5536 var first_name = (LANG == 'en' && check_data.count > 0) ? '' : '<span class="addressee-name">' + check_data.name + '</span> ' + ((check_data.count == 0) ? $.lang[LANG]['manager.list.member.str'] : ''), 5537 others_name = (LANG == 'en' || check_data.count < 1) ? '' : $.lang[LANG]['manager.list.member.selected.multi.1'] + '\ 5538 <span class="addressee-count point" data-toggle="tooltip" data-placement="bottom" data-html="true" data-original-title="' + check_data.names + '">\ 5539 ' + check_data.count + '</span>' + $.lang[LANG]['manager.list.member.selected.multi.2'], 5540 last_name = (LANG == 'en' && check_data.count > 0) ? $.lang[LANG]['manager.list.member.selected.multi.3'] : '', 5541 selected_str = $.lang[LANG]['manager.list.member.leave.txt.1'] + first_name + others_name + last_name + $.lang[LANG]['manager.list.member.leave.txt.2']; 5542 5543 var modal_content = '\ 5544 <div class="mng-modal-body leave-modal">\ 5545 <p class="addressee-wrap">\ 5546 ' + selected_str + '\ 5547 </p>\ 5548 </div>\ 5549 '; 5550 5551 var level_modal = $(this).showModalFlat($.lang[LANG]['manager.list.member.leave.title'], modal_content, true, true, function() { 5552 var uids = check_data.ids; 5553 5554 $.ajax({ 5555 type: 'POST', 5556 url: '/umember/update/type/leave', 5557 data: { sid : SID, uids : uids, val : 'deny' }, 5558 dataType: 'json', 5559 async: true, 5560 success: function(data) { 5561 if(typeof data.error != 'undefined' && data.error) { 5562 // alert(data.error); 5563 if(level_modal.find('.error').length == 0) level_modal.find('.leave-modal').append('<span class="error">' + data.error + '</span>'); 5564 else level_modal.find('.leave-modal').find('.error').text(data.error); 5565 return false;
5566 } else { 5567 level_modal.modal('hide'); 5568 window.location.reload(); 5569 } 5570 5571 } 5572 }); 5573 5574 5575 }, 'cancel','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0'); 5576 5577 }); 5578 5579 5580 $('.member-block-btn').live('click', function() { 5581 if($(this).hasClass('member_disabled')) { 5582 siteNotice('manager'); 5583 return false; 5584 } 5585 var check_data = getMemberListCheckData($(this)), 5586 mng_settings_el = $(this).closest('.mng-settings'); 5587 5588 if( typeof check_data.error != 'undefined' && check_data.error) { 5589 $(this).showModalFlat($.lang[LANG]['manager.list.member.selected.empty.title'], check_data.error,true,false,'','ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0 cl-member-list-block'); 5590 return false; 5591 } 5592 5593 var first_name = (LANG == 'en' && check_data.count > 0) ? '' : '<span class="addressee-name">' + check_data.name + '</span> ' + ((check_data.count == 0) ? $.lang[LANG]['manager.list.member.str'] : ''), 5594 others_name = (LANG == 'en' || check_data.count < 1) ? '' : $.lang[LANG]['manager.list.member.selected.multi.1'] + '\ 5595 <span class="addressee-count point" data-toggle="tooltip" data-placement="bottom" data-html="true" data-original-title="' + check_data.names + '">\ 5596 ' + check_data.count + '</span>' + $.lang[LANG]['manager.list.member.selected.multi.2'], 5597 last_name = (LANG == 'en' && check_data.count > 0) ? $.lang[LANG]['manager.list.member.selected.multi.3'] : '', 5598 selected_str = $.lang[LANG]['manager.list.member.block.txt.1'] + first_name + others_name + last_name + $.lang[LANG]['manager.list.member.block.txt.2']; 5599 5600 var modal_content = '\ 5601 <div class="mng-modal-body block-modal">\ 5602 <p class="addressee-wrap">\ 5603 ' + selected_str + '\ 5604 </p>\ 5605 </div>\ 5606 '; 5607 5608 var block_modal = $(this).showModalFlat($.lang[LANG]['manager.list.member.block.title'], modal_content, true, true, function() { 5609 var val = check_data.ids; 5610 5611 $.ajax({ 5612 type: 'POST', 5613 url: '/umember/set/type/block', 5614 data: { sid : SID, key : 'id', val : val }, 5615 dataType: 'json', 5616 async: true, 5617 success: function(data) { 5618 if(typeof data.error != 'undefined' && data.error) { 5619 // alert(data.error); 5620 if(block_modal.find('.error').length == 0) block_modal.find('.block-modal').append('<span class="error">' + data.error + '</span>'); 5621 else block_modal.find('.block-modal').find('.error').text(data.error); 5622 return false; 5623 } else { 5624 block_modal.modal('hide'); 5625 window.location.reload(); 5626 } 5627 } 5628 }); 5629 5630 }, 'cancel','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0'); 5631 }); 5632 5633 let startX, startY; 5634 $('.fullcover-scroll.payment .address-item') 5635 .live('click',function(e){ 5636 if( $(e.target).closest('.edit btn-edit-addr').length > 0) { 5637 return; 5638 } 5639 5640 5641 }) 5642 .live('mousedown', function(e) { 5643 startX = e.clientX; 5644 startY = e.clientY; 5645 }) 5646 .live('mouseup', function(e) { 5647 const dx = Math.abs(e.clientX - startX); 5648 const dy = Math.abs(e.clientY - startY); 5649
5650 // ëëê·¸ê° ê±°ì ììì¼ë©´ í´ë¦ì¼ë¡ íë¨ 5651 if (dx < 5 && dy < 5) { 5652 // í´ë¦ ëì ìí 5653 $(this).find('input[type="radio"]').prop('checked',true) 5654 // console.log('í´ë¦ë¨'); 5655 } else { 5656 // ëëê·¸í ê²ì¼ë¡ íë¨íì¬ ë¬´ì 5657 console.log('í ì¤í¸ ì í ê°ì§ë¨, í´ë¦ 무ì'); 5658 } 5659 }); 5660 5661 $('.adm-member-addr').live('click',function(){ 5662 const action = $(this).data('action'); 5663 switch (action){ 5664 case "adm-edit" : 5665 getaddrList("manager", false, function(result) { 5666 }); 5667 break; 5668 } 5669 }); 5670 5671 5672 // 주ì 목ë¡, 기본 주ì ì¤ì 5673 $('.btn-load-addresses, .btn-default-address, .btn-add-addr, .btn-edit-addr,.address-delete').live('click',function(){ 5674 //if (!property?.SID || !property?.UMEMBER?.id) return; 5675 5676 const action = $(this).data('action'); 5677 let currentPage = ''; 5678 const elcurPage = $('.btn-load-addresses'); 5679 if(elcurPage.hasClass('mypage')){ 5680 currentPage = 'mypage'; 5681 } else if (elcurPage.parent().hasClass('smpage-btn')){ 5682 currentPage = 'payment'; 5683 } else { 5684 currentPage = 'manager'; 5685 } 5686 5687 if (!action) return; 5688 5689 // ëª©ë¡ ë²í¼ ëë ìë > 5690 // ì¶ê° íì ìì ì ì¥í기 ëë ìë 5691 // 기본 주ì ì¤ì í기 ëë ì ë 5692 if (action === 'getList') { 5693 getaddrList(currentPage); 5694 } else if (action == "add") { 5695 if ($('.address-item').length <= 14) { 5696 editAndaddPoppup("N","add",currentPage); 5697 } 5698 } else if (action == "edit") { 5699 editAndaddPoppup("N","edit",currentPage,$(this)); 5700 } else if (action =="delete") { 5701 deletePopup(currentPage,$(this)); 5702 } else if (action === 'setDefault') { 5703 var seq = $(this).attr('seq'); 5704 if(!seq) return; 5705 5706 $.ajax({ 5707 type: 'POST', 5708 url: '/umember/get/type/smAddressList', 5709 data: { 5710 sid: property.SID, 5711 uid: property.UMEMBER.id, 5712 seq: seq, 5713 action: 'setDefault' 5714 }, 5715 dataType: 'json', 5716 success: function (data) { 5717 5718 //$addresslist_popup.modal('hide'); 5719 5720 if (data?.error) { 5721 alert(data.error); 5722 getaddrList(currentPage); 5723 return; 5724 } else { 5725 //$addresslist_popup.one('hidden.bs.modal', function () { 5726 // setTimeout(function() { 5727 // getaddrList(currentPage); 5728 // updateAddressUI(data,currentPage); 5729 5730 // }, '50'); 5731 getaddrList(currentPage,true); 5732 5733 if(currentPage == "payment"){ 5734 var elSeq = $('.sm-parent').attr('data-smseq'); 5735 var elDefault = $('.sm-parent').find('.sm-default-addr').hasClass("hide"); 5736 5737 if(!elDefault || elSeq == seq){ 5738 updateAddressUI(data,currentPage); 5739 } 5740 } else { 5741 updateAddressUI(data,currentPage); 5742 } 5743 //}); 5744 } 5745 } 5746 }); 5747 } 5748 }); 5749 window.checkNumberPopup = function(el) { 5750 var val = el.val(); 5751 el.val(val.replace(/[^0-9]/g,'')); 5752 } 5753 // 주ì ê°ì ¸ì¤ê¸° 5754 var getaddrList = function(currentPage,changeHtml = false ) { 5755 $.ajax({ 5756 type: 'POST', 5757 url: '/umember/get/type/smAddressList', 5758 data: { 5759 sid: (typeof property !== 'undefined' && property?.SID) ? property.SID : SID, 5760 uid: (currentPage=='manager') ? $('.memberinfo-modal .member-info-input').val() : property.UMEMBER.id, 5761 action: 'getList' 5762 }, 5763 dataType: 'json', 5764 success: function (data) { 5765 // if(currentPage === "manager" && callback){ 5766 // callback(data); 5767 // return true; 5768 // } 5769 if (data?.error) { 5770 alert(data.error); 5771 return; 5772 } 5773 if (data.length > 0) { 5774 // ê°ì ¸ì¨ 주ì íì ì 그리기 5775 // console.log(changeHtml); 5776 var changehtm = showList(data, currentPage,changeHtml); 5777 if(changehtm){ 5778 // console.log(changehtm); 5779 const $tempDom = $('<div>').html(changehtm); 5780 const $newItems = $tempDom.find('li.address-item'); 5781 5782 const $list = $addresslist_popup.find('ul.address-list'); 5783 5784 // 기존 li ì ê±° í ì li ì½ì 5785 $list.empty().append($newItems); 5786 } 5787 if(data.length >= 15) { 5788 5789 $('.btn-add-addr').addClass('pointer-none'); 5790 } 5791 5792 } else { 5793 // ê°ì ¸ì¨ 주ìx 5794 editAndaddPoppup("Y","add",currentPage); 5795 } 5796 5797 } 5798 }); 5799 } 5800 5801 // 주ì 그리기 5802 var showList = function(d,currentPage,changeHtml = false) { 5803 5804 if(currentPage == "manager") { 5805 $('.memberinfo-modal').closest('.flat-modal').hide(); 5806 $('.memberinfo-modal').closest('.flat-modal').next('.modal-backdrop').hide(); 5807 } 5808 var content_li = ''; 5809 $.each(d,function(i,v){ 5810 const isDefault = v.is_default == 1 ? 'show' : 'hide';
5811 const name = v.to_name; 5812 const alias = v.alias || ''; 5813 const aliasel = (v.alias) ? 'open' : 'hide'; 5814 const seq = v.seq; 5815 const tel = v.to_tel; 5816 5817 5818 const to_addr1 = v.to_addr1 || ''; 5819 let postCode = ''; 5820 let addr1 = ''; 5821 5822 if (to_addr1.includes('||')) { 5823 const parts = to_addr1.split('||'); 5824 postCode = parts[0].trim(); 5825 addr1 = parts[1].trim(); 5826 } else { 5827 postCode = ''; 5828 addr1 = to_addr1.trim(); 5829 } 5830 5831 const addr2 = v.to_addr2 || ''; 5832 content_li += ` 5833 <li class="address-item"> 5834 <div class="div1"> 5835 <span class="name">${name}</span> 5836 <span class="tag ${!alias ? 'hide' : ''}" edit-tag="${escape(alias)}">${alias ? '(' + alias + ')' : ''}</span> 5837 <span class="default ${isDefault}">기본 ë°°ì¡ì§</span> 5838 <div class="newcheckbox hand"> 5839 <div class="newcheckboxSvgRadio"> 5840 <label> 5841 <input type="radio" name="temp" value="${seq}" ${v.is_default == 1 ? 'checked' : ''}> 5842 <svg viewBox="0 0 18 18" width="18" height="18"> 5843 <path fill="#dbdcdf" d="M9 0C4.03 0 0 4.03 0 9c0 4.97 4.03 9 9 9s9-4.03 9-9C18 4.03 13.97 0 9 0zM9 17c-4.41 0-8-3.59-8-8 0-4.41 3.59-8 8-8s8 3.59 8 8C17 13.41 13.41 17 9 17z"></path> 5844 </svg> 5845 <svg class="active" viewBox="0 0 18 18" width="18" height="18"> 5846 <path fill="#4789e7" d="M9 0C4.03 0 0 4.03 0 9c0 4.97 4.03 9 9 9s9-4.03 9-9C18 4.03 13.97 0 9 0zM9 17c-4.41 0-8-3.59-8-8 0-4.41 3.59-8 8-8s8 3.59 8 8C17 13.41 13.41 17 9 17z"></path> 5847 <circle fill="#4789e7" cx="9" cy="9" r="6"></circle> 5848 </svg> 5849 </laberl> 5850 </div> 5851 </div> 5852 </div> 5853 <div class="div2"> 5854 <span class="address1 ${!postCode ? 'hide' : ''}" edit-postcode="${postCode}">${postCode ? '[' + postCode + ']' : ''}</span><span class="address2" edit-addr1="${escape(addr1)}" edit-addr2="${escape(addr2)}">${addr1} ${addr2}</span> 5855 </div> 5856 <div class="div3 phone">${tel}</div> 5857 <div class="div4 actions clearfix"> 5858 <button class="edit btn-edit-addr" data-action="edit" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" class="address-edit" data-toggle="tooltip" data-placement="top" title="" data-original-title="ìì " width="12" height="12"><path d="m11.56.57-.13-.13C11.14.15 10.76 0 10.37 0c-.38 0-.77.15-1.06.44L.75 9 0 12l3-.75 8.56-8.56c.59-.59.59-1.54 0-2.12zm-9.07 9.78-1.11.28.28-1.11 6.58-6.58.84.84-6.59 6.57zm8.36-8.37L9.77 3.06l-.83-.83 1.08-1.08a.487.487 0 0 1 .7 0l.13.13c.2.19.2.51 0 .7z"></path></svg></button><button class=" ${currentPage == "manager" ? 'hide' : ''} delete ${(v.is_default == 1) ? 'hide' : ''}"><svg viewBox="0 0 12 13" width="12" height="13" class="address-delete" data-toggle="tooltip" data-placement="top" title="" data-original-title="ìì " data-action="delete"><path d="M11.01 2H9V0H3v2H0.99 0v1h1v8c0 1.1 0.9 2 2 2h6c1.1 0 2-0.9 2-2V3h1V2H11.01zM4 1h4v1H4V1zM10 11c0 0.55-0.45 1-1 1H3c-0.55 0-1-0.45-1-1V3h1.02H9h1V11z"></path><rect x="4" y="4" width="1" height="7"></rect><rect x="7" y="4" width="1" height="7"></rect></svg></button> 5859 <div data-action="setDefault" seq ="${v.seq}" class=" ${currentPage == "manager" ? 'hide' : ''} btn-default-address ${(v.is_default == 1) ? 'hide': ''}" style="">기본 ë°°ì¡ì§ ì¤ì </div> 5860 </div> 5861 </li> 5862 `; 5863 }); 5864 5865 var modal_content =` 5866 <div class="btn-add-addr ${currentPage == "manager" ? 'hide' : ''}" data-action="add" > 5867 <div> 5868 <svg viewBox="0 0 15 15" width="15" height="15"> 5869 <polygon points="15 7 8 7 8 0 7 0 7 7 0 7 0 8 7 8 7 15 8 15 8 8 15 8 "></polygon> 5870 </svg> 5871 <span>ë°°ì¡ì§ ì¶ê°</span> 5872 </div> 5873 </div> 5874 <ul class="fullcover-scroll address-list ${currentPage}"> 5875 ${content_li} 5876 </ul> 5877 ` 5878 if(changeHtml) return content_li; 5879 $addresslist_popup = $(this).showModalFlat("ë°°ì¡ì§ 목ë¡", modal_content, true, (currentPage == "mypage" ||currentPage == "manager" ) ? false : true , function(){ 5880 5881 5882 // ê²°ì íì´ì§ì ëª©ë¡ íì ìì íì¸ ë²í¼ í´ë¦ ì 5883 $("#no-fouc").removeClass("scroll-lock-fullcover-popup"); 5884 var seq = $addresslist_popup.find('.address-item input[type="radio"]:checked').attr('value'); 5885 5886 $.ajax({ 5887 type: 'POST', 5888 url: '/umember/get/type/smAddressList', 5889 data: { 5890 sid: property.SID, 5891 uid: property.UMEMBER.id, 5892 seq:seq, 5893 action: 'getExistAddr', 5894 }, 5895 dataType: 'json', 5896 success: function (data) { 5897 if (data?.error) { 5898 alert(data.error); 5899 $addresslist_popup.modal('hide'); 5900 getaddrList(currentPage); 5901 return; 5902 } else { 5903 UpdateelSeq(seq); 5904 updateAddressUI(data,currentPage); 5905 $addresslist_popup.modal('hide'); 5906 5907 } 5908 } 5909 }); 5910 }, (currentPage == "payment" ? 'cancel' : 'close' ) , 'config.save', 'cl-cmmodal cl-s-btn w560 cl-p70 cl-p0 addr-list-parents cover fullcover-modal fullcover-modal-scroll ' + ((currentPage === 'manager') ? "manager" : "") + ' ',true,function(){ 5911 $("#no-fouc").removeClass("scroll-lock-fullcover-popup"); 5912 5913 if(currentPage == "manager") { 5914 $('.memberinfo-modal').closest('.flat-modal').show(); 5915 $('.memberinfo-modal').closest('.flat-modal').next('.modal-backdrop').show(); 5916 } 5917 },function(){ 5918 5919 // if($addresslist_popup.closest('#flat-modal1').length >0 ){ 5920 // $addresslist_popup.closest('#flat-modal1').attr('id','flat-modal'); 5921 // } 5922 5923 }); 5924 5925 if($("#no-fouc").addClass("scroll-lock-fullcover-popup")); 5926 5927 5928 } 5929 5930 // ë§ì´íì´ì§ íì ìì 주ì를 ë±ë¡íê±°ë ê²°ì íì´ì§ íì ìì ì ì¥ ë²í¼ì í´ë¦íì ë ë°ì´í° ë°ì 5931 var updateAddressUI = function(d,cPage){ 5932 5933 if(cPage == "mypage"){ 5934 var removeEl = $('.sm-parent.emptyFlag'); // ìì ì체를 ë´ì 5935 if (removeEl.length) { 5936 // optional í´ëì¤ ì ê±° 5937 removeEl.find('.cl-s-form-wrap.empty').removeClass('empty'); 5938 removeEl.find('.optional').removeClass('optional'); 5939 // flexbox ìì input ì ê±° 5940 removeEl.find('.flexbox').children('input').remove(); 5941 } 5942 } 5943 5944 5945 var $sm = $('.sm-parent'); 5946 var $sm_btn = $sm.find('.btn-load-addresses div span'); 5947 var $sm_name = $sm.find('.sm-name'); 5948 var $sm_alias = $sm.find('.sm-alias'); 5949 var $sm_default = $sm.find('.sm-default-addr'); 5950 5951 const $sm_addr1 = $sm.find('.sm-addr1 span').first(); // [ì°í¸ë²í¸] 5952 const $sm_addr2 = $sm.find('.sm-addr1 span').last(); // 주ì 5953 const $sm_tel = $sm.find('.sm-tel'); // 주ì2 5954 5955 d?.alias ? $sm_alias.text('(' + d.alias + ')').removeClass('hide')
5955: $sm_alias.text('').addClass('hide'); 5956 5957 $sm.removeClass('emptyFlag'); 5958 5959 5960 5961 (cPage == "mypage") ? $sm_btn.text('ë³ê²½í기') : $sm_btn.text('ë°°ì¡ì§ 목ë¡'); 5962 5963 $sm_name.text(d?.to_name); 5964 5965 const tempArr = d.to_addr1?.split('||') || []; 5966 tempArr[0] ? $sm_addr1.text('[' + tempArr[0] + ']').removeClass('hide') : $sm_addr1.addClass('hide'); 5967 $sm_addr2.text(tempArr[1] +' '+d?.to_addr2); 5968 $sm_tel.text(d?.to_tel); 5969 $sm.find('.noaddress').addClass('hide'); 5970 5971 if($('.btn-load-addresses.empty').length > 0) { 5972 $('.btn-load-addresses.empty').removeClass('empty'); 5973 } 5974 5975 if(cPage == "payment") { 5976 5977 if (+d.is_default > 0) { 5978 $sm_default.removeClass("hide"); 5979 } else { 5980 $sm_default.addClass("hide"); 5981 } 5982 5983 $('#reciever-name').val(d.to_name); 5984 $('#reciever-phone').val(d.to_tel); 5985 $('#reciever-postcode').val(tempArr[0]); 5986 $('#reciever-addr1').val(tempArr[1]); 5987 $('#reciever-addr2').val(d.to_addr2); 5988 changeDeliveryPrice($(this).closest('form').attr('data-sid')); 5989 // console.log($(this)); 5990 } 5991 } 5992 5993 var editAndaddPoppup = function(fix_addr = "N", mode = "", cpage = "",select = ""){ 5994 var dontclick_label = ""; 5995 var opa = ""; 5996 5997 if (fix_addr === "Y") { 5998 dontclick_label = 'disabled checked'; 5999 opa = "opa"; 6000 } else if (mode === "edit") { 6001 var $a_item = select.closest('.address-item'); 6002 6003 if ($a_item.find('.default.show').length > 0) { 6004 dontclick_label = 'disabled checked'; 6005 opa = "opa"; 6006 } 6007 } 6008 6009 var modal_content = ` 6010 <div> 6011 <div class="cl-s-info">ë°°ì¡ì§ ì ë³´</div> 6012 <div class="col-xs-12 col-sm-12 col-md-12 no-padding"> 6013 <div class="cl-s-form-wrap"> 6014 <div class="cl-s-form-group"> 6015 <input type="text" class="cl-s-form-control-popup" id="addrPopup-alias"name ="alias" required> 6016 <label for="input" class="cl-s-control-label">ë°°ì¡ì§ëª </label> 6017 </div> 6018 </div> 6019 </div> 6020 <div class="col-xs-6 col-sm-6 col-md-6 no-padding p-r-5"> 6021 <div class="cl-s-form-wrap"> 6022 <div class="cl-s-form-group"> 6023 <input type="text" class="cl-s-form-control-popup" id="addrPopup-name" name="to_name" required="required"> 6024 <label for="input" class="cl-s-control-label">ì´ë¦<span class="input-star">*</span></label> 6025 6026 </div> 6027 </div> 6028 </div> 6029 <div class="col-xs-6 col-sm-6 col-md-6 no-padding p-l-5"> 6030 <div class="cl-s-form-wrap"> 6031 <div class="cl-s-form-group"> 6032 <input type="text" class="cl-s-form-control-popup" id="addrPopup-phone" name="to_tel" required="required" onkeyup="checkNumberPopup($(this))"> 6033 <label for="input" class="cl-s-control-label">ì°ë½ì²<span class="input-star">*</span></label> 6034 </div> 6035 </div> 6036 </div> 6037 <div class="col-xs-12 col-sm-12 col-md-12 no-padding clearfix"> 6038 <div class="cl-s-form-wrap"> 6039 <div class="cl-s-form-group"> 6040 <input type="hidden" class="cl-s-form-control-popup" id="addrPopup-postcode" name="addr1" required="required" value=""> 6041 <input type="text" class="cl-s-form-control-popup" id="addrPopup-addr1" name="addr2" required="required" readonly onfocus="addrSearchModal('addrPopup')"> 6042 <label for="input" class="cl-s-control-label">주ì<span class="input-star">*</span></label> 6043 </div> 6044 </div> 6045 <div class="cl-s-form-wrap"> 6046 <div class="cl-s-form-group"> 6047 <input type="text" class="cl-s-form-control-popup" id="addrPopup-addr2" name="addr3" required> 6048 <label for="input" class="cl-s-control-label">ìì¸ì£¼ì</label> 6049 </div> 6050 </div> 6051 </div> 6052 <span class="pull-left checkbox-wrap ${cpage == "manager" ? 'hide' : ''}"> 6053 <div class="cl-s-checkbox ${opa}"> 6054 <label> 6055 <input type="checkbox" id="addrPopup-set" name="is_default" ${dontclick_label}> 6056 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M13 0H3C1.3 0 0 1.3 0 3v10c0 1.7 1.3 3 3 3h10c1.7 0 3-1.3 3-3V3C16 1.3 14.7 0 13 0zM15 13c0 1.1-0.9 2-2 2H3c-1.1 0-2-0.9-2-2V3c0-1.1 0.9-2 2-2h10c1.1 0 2 0.9 2 2V13z"></path></svg> 6057 <svg class="active" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M13 0H3C1.34 0 0 1.34 0 3v10c0 1.66 1.34 3 3 3h10c1.66 0 3-1.34 3-3V3C16 1.34 14.66 0 13 0zM13.03 6.03l-5.5 5.5C7.38 11.68 7.19 11.75 7 11.75s-0.38-0.07-0.53-0.22l-3.5-3.5c-0.29-0.29-0.29-0.77 0-1.06s0.77-0.29 1.06 0L7 9.94l4.97-4.97c0.29-0.29 0.77-0.29 1.06 0S13.32 5.74 13.03 6.03z"></path></svg> 6058 기본 ë°°ì¡ì§ ì¤ì 6059 </label> 6060 </div> 6061 </span> 6062 </div> 6063 ` 6064 6065 var $addPopup = $(this).showModalFlat( (mode == "add") ? "ë°°ì¡ì§ ì¶ê°" : "ë°°ì¡ì§ ìì " , modal_content, true, true , function(){ 6066 6067 $addPopup.find('.cl-s-form-wrap').removeClass('empty'); 6068 6069 let focused = false;
6070 let flagCheck = false; 6071 6072 $addPopup.find('.cl-s-form-wrap').each(function (i,e) { 6073 const $wrap = $(this); 6074 const $inputs = $wrap.find('input:not([type=hidden]), textarea'); 6075 const hasError = $wrap.hasClass('error'); 6076 6077 let isEmpty = false; 6078 6079 // ì¤ì§ required="required" ë¡ ëª ìë íëë§ ê²ì¬ 6080 $inputs.each(function () { 6081 const input = this; 6082 const $input_id = $(input).attr('id'); 6083 let error_str= ""; 6084 // requiredë§ ê²ì¬ 6085 if (input.getAttribute('required') === 'required') { 6086 // console.log($(this)); 6087 const val = $(input).val()?.trim(); 6088 const $wrap = $(input).closest('.cl-s-form-wrap'); 6089 const $errorLabel = $wrap.next('.cl-s-control-label.error'); 6090 6091 // 기존 ìë¬ ì ê±° 6092 $errorLabel.remove(); 6093 6094 if (!val) { 6095 isEmpty = true; 6096 error_str = ""; 6097 6098 switch($input_id){ 6099 case "addrPopup-name" : 6100 error_str = " ì´ë¦ì ì ë ¥í´ ì£¼ì¸ì."; 6101 break; 6102 case "addrPopup-phone" : 6103 error_str = " ì°ë½ì²ë¥¼ ì ë ¥í´ ì£¼ì¸ì." 6104 break; 6105 case "addrPopup-addr1" : 6106 error_str = " 주ì 찾기를 íµí´ 주ì를 ì ë ¥í´ì£¼ì¸ì." 6107 break; 6108 } 6109 // ì ìë¬ ì¶ê° 6110 $wrap.after( 6111 '<label for="input" class="cl-s-control-label error"><i class="cl-icon alert02"></i>' + error_str + '</label>' 6112 ); 6113 } 6114 } 6115 }); 6116 6117 if (isEmpty) { 6118 $wrap.addClass('empty'); 6119 flagCheck = true; 6120 } 6121 6122 // í¬ì»¤ì¤: 첫 ë²ì§¸ error ëë empty í목 6123 if ((isEmpty || hasError) && !focused) { 6124 flagCheck = true; 6125 const $focusTarget = $wrap.find('input, textarea').filter(':visible').first(); 6126 if ($focusTarget.length > 0) { 6127 $focusTarget.focus(); 6128 focused = true; 6129 } 6130 } 6131 }); 6132 6133 if (flagCheck) return true; 6134 6135 6136 const formValues = { 6137 to_name: $addPopup.find('#addrPopup-name').val()?.trim(), 6138 to_tel: $addPopup.find('#addrPopup-phone').val()?.trim(), 6139 to_addr1: `${$addPopup.find('#addrPopup-postcode').val()?.trim()}||${$addPopup.find('#addrPopup-addr1').val()?.trim()}`, 6140 to_addr2: $addPopup.find('#addrPopup-addr2').val()?.trim(), 6141 alias: $addPopup.find('#addrPopup-alias').val()?.trim(), 6142 is_default: $addPopup.find('#addrPopup-set').prop('checked') ? '1' : '0' 6143 }; 6144 6145 if(mode == "add"){ 6146 $.ajax({ 6147 type: 'POST', 6148 url: '/umember/get/type/smAddressList', 6149 data: { 6150 sid: property.SID, 6151 uid: property.UMEMBER.id, 6152 action: 'add', 6153 fixaddr : fix_addr, 6154 value : formValues 6155 }, 6156 dataType: 'json', 6157 success: function (data) { 6158 if (data?.error) { 6159 alert(data.error); 6160 $addPopup.modal('hide'); 6161 getaddrList(cpage); 6162 return; 6163 } else { 6164 if( typeof $addresslist_popup !== "undefined" && $addresslist_popup.length > 0) { 6165 $addresslist_popup.modal('hide'); 6166 } 6167 6168 if(cpage == "mypage" && formValues.is_default == "1"){ 6169 updateAddressUI(formValues,cpage); 6170 } 6171 else if ( 6172 (cpage == "payment" && fix_addr == "Y") || 6173 (cpage == "payment" && formValues.is_default > 0 && $('.sm-default-addr:not(.hide)').length > 0) 6174 ) { 6175 updateAddressUI(formValues,cpage); 6176 UpdateelSeq(data["seq"]); 6177 } 6178 $addPopup.modal('hide'); 6179 getaddrList(cpage); 6180 } 6181 } 6182 }); 6183 } else if (mode == "edit") { 6184 6185 var $tempitem = select.closest('.address-item'); 6186 var radio_value = $tempitem.find('input[type="radio"]').val() || ''; 6187 if (!radio_value) return true; 6188 6189 if(cpage == "manager" && $('#member-postcode').length > 0 && formValues.is_default > 0) { 6190 $('#member-addr1').val($addPopup.find('#addrPopup-addr1').val()?.trim()) ; 6191 $('#member-addr2').val(formValues.to_addr2) ; 6192 // console.log('afaf'); 6193 $('#member-postcode').attr('value',$addPopup.find('#addrPopup-postcode').val()?.trim()); 6194 6195 var temp_uid = $('.memberinfo-modal .member-info-input').val(); 6196 $('.mng-list table tr[data-uid="' + temp_uid + '"]').find('.'+'addr').text(formValues.to_addr1 + formValues.to_addr2); 6197 6198 } 6199 $.ajax({ 6200 type: 'POST', 6201 url: '/umember/get/type/smAddressList', 6202 data: { 6203 sid: (typeof property !== 'undefined' && property.SID) ? property.SID : SID, 6204 uid: (cpage=='manager') ? $('.memberinfo-modal .member-info-input').val() : property.UMEMBER.id, 6205 action: 'edit', 6206 seq : radio_value, 6207 value : formValues 6208 }, 6209 dataType: 'json', 6210 success: function (data) { 6211 if (data?.error) { 6212 alert(data.error); 6213 $addPopup.modal('hide'); 6214 getaddrList(cpage); 6215 return; 6216 } else { 6217 $addPopup.modal('hide'); 6218 $addresslist_popup.modal('hide'); 6219 6220 getaddrList(cpage); 6221 6222 var elSeq = $('.sm-parent').attr('data-smseq'); 6223 var elDefault = $('.sm-parent').find('.sm-default-addr').hasClass("hide"); 6224 6225 if(cpage =="payment" && !elDefault && formValues["is_default"] == 1 || 6226 cpage =="payment" && elSeq == radio_value 6227 ){ 6228 updateAddressUI(formValues,cpage); 6229 } else if(cpage != "payment"){ 6230 6231 updateAddressUI(formValues,cpage); 6232 } 6233 } 6234 } 6235 }); 6236 6237 } 6238 6239 6240 6241 }, 'cancel', (cpage === 'manager' ? 'ì ì¥' : 'config.save'), 'cl-cmmodal cl-s-btn w560 cl-p70 cl-p0 parallax-description-modal cl-s-add-addrPopup cover fullcover-modal ' + ( (cpage == "manager") ? 'manageredit' : '') +'',true,function(){ 6242 console.log('a'); 6243 },function(){}); 6244 6245 if(mode == "edit") { 6246 if($addresslist_popup.length > 0) { 6247 6248 var $item = select.closest('.address-item'); 6249 6250 var name_edit = $item.find('.name').text().trim(); 6251 var aliasAttr = unescape($item.find('.tag').attr('edit-tag')); 6252 var alias_edit = aliasAttr ? aliasAttr.trim() : ''; 6253 var is_default_edit = $item.find('.default.show').length > 0 ? '1' : '0'; 6254 var postcodeAttr = $item.find('[edit-postcode]').attr('edit-postcode'); 6255 var postcode_edit = postcodeAttr ? postcodeAttr.trim() : '';
6256 var addr1Attr = unescape($item.find('[edit-addr1]').attr('edit-addr1')); 6257 var address1_edit = addr1Attr ? addr1Attr.trim() : ''; 6258 var addr2Attr = unescape($item.find('[edit-addr2]').attr('edit-addr2')); 6259 var address2_edit = addr2Attr ? addr2Attr.trim() : ''; 6260 var phone_edit = $item.find('.div3.phone').text().trim(); 6261 if (mode === 'edit') { 6262 $addPopup.find('#addrPopup-alias').val(alias_edit); 6263 $addPopup.find('#addrPopup-name').val(name_edit); 6264 $addPopup.find('#addrPopup-phone').val(phone_edit); 6265 $addPopup.find('#addrPopup-postcode').val(postcode_edit); 6266 $addPopup.find('#addrPopup-addr1').val(address1_edit).addClass('has-value'); 6267 $addPopup.find('#addrPopup-addr2').val(address2_edit); 6268 $addPopup.find('#addrPopup-set').prop('checked', is_default_edit === '1'); 6269 } 6270 } 6271 } 6272 } 6273 6274 var deletePopup = function(cpage,c_this){ 6275 6276 $addresslist_popup.addClass('hide'); 6277 var $tempitem = $(c_this).closest('.address-item'); 6278 var radio_value = $tempitem.find('input[type="radio"]').val() || ''; 6279 6280 var $addr_modal_delete = $(this).showModalFlat("주ì를 ìì íìê² ìµëê¹?", "ìì í 주ìë 복구í ì ììµëë¤. <br> ì ë§ ìì íìê² ìµëê¹?", true, true , function(){ 6281 6282 $.ajax({ 6283 type: 'POST', 6284 url: '/umember/get/type/smAddressList', 6285 data: { 6286 sid: property.SID, 6287 uid: property.UMEMBER.id, 6288 seq:radio_value, 6289 action: 'delete', 6290 }, 6291 dataType: 'json', 6292 success: function (data) { 6293 setTimeout(function() { 6294 getaddrList(cpage); 6295 },''); 6296 $addr_modal_delete.modal('hide'); 6297 $addresslist_popup.modal('hide'); 6298 } 6299 }); 6300 6301 }, 'cancel','ok','modal-dialog cl-cmmodal cl-s-btn w560 cl-p70',false,'','',function(){ 6302 $addresslist_popup.removeClass('hide'); 6303 }); 6304 6305 6306 } 6307 6308 var UpdateelSeq = function(seq){ 6309 $('.sm-parent').attr("data-smseq",seq); 6310 } 6311 6312 $('.btn-add-addr.pointer-none').live('click',function(e) { 6313 var modal = $(this).showModalFlat($.lang[LANG]['config.information'], $.lang[LANG]['shopping.addr.title.dec'], true, false, function(){ 6314 $backModal = $('#flat-modal').closest('.cl-common-modal').css('opacity',1) 6315 if ($backModal.next().hasClass('modal-backdrop')) { 6316 $backModal.next().css('opacity', 0.9); // ìíë ì¤íì¼ 6317 } 6318 }, 'ok', '', 'cl-p130 cl-cmmodal cl-s-btn w560 cl-p0 cl-okbtn-pbt70',true,function(){ 6319 $backModal = $('#flat-modal').closest('.cl-common-modal').css('opacity',1) 6320 if ($backModal.next().hasClass('modal-backdrop')) { 6321 $backModal.next().css('opacity', 0.9); // ìíë ì¤íì¼ 6322 } 6323 6324 },function(){ 6325 }); 6326 $backModal = $('#flat-modal').closest('.cl-common-modal').css('opacity',0) 6327 if ($backModal.next().hasClass('modal-backdrop')) { 6328 $backModal.next().css('opacity', 0); // ìíë ì¤íì¼ 6329 } 6330 }); 6331 6332 6333 $('.cl-s-add-addrPopup .cl-s-form-group').live('click',function(e) { 6334 if($(e.target).hasClass('cl-s-form-group')) { 6335 $(e.target).find('.cl-s-form-control-popup:not([type=hidden])').focus(); 6336 } 6337 }); 6338 $('.cl-s-form-control-popup').live({ 6339 6340 focus: function(e) { 6341 if($(this).attr('type') == 'hidden') { 6342 e.preventDefault(); 6343 return false; 6344 } 6345 if($(this).is('#addrPopup-addr2') && $('#addrPopup-addr1').val().trim().length > 0 ) { 6346 6347 const formWrap = $('#addrPopup-addr1').closest('.cl-s-form-wrap'); 6348 const nextElement = formWrap.next('.cl-s-control-label'); 6349 6350 if (nextElement.length > 0) { 6351 nextElement.remove(); 6352 } 6353 var input_id = $(this).attr('id'), 6354 input_addr1 = input_id.replace('-addr2','-addr1'); 6355 // console.log(input_addr1); 6356 if($('#'+input_addr1).val().trim().length > 0) { 6357 $('#'+input_addr1).closest('.cl-s-form-wrap').removeClass('empty'); 6358 } 6359 } 6360 $(this).closest('.cl-s-form-wrap').addClass('active'); 6361 }, 6362 blur: function(e) { 6363 $(this).closest('.cl-s-form-wrap').removeClass('active'); 6364 6365 if($(this).attr('type') == 'hidden' || $(this).is('textarea')) { 6366 e.preventDefault(); 6367 return false; 6368 } 6369 6370 var error_str = '', 6371 val = $(this).val().trim(); 6372 6373 6374 if (val.length === 0 && this.getAttribute('required') === 'required') { 6375 $(this).closest('.cl-s-form-wrap').removeClass('error').addClass('empty'); 6376 $(this).closest('.cl-s-form-wrap').find('.cl-s-control-label.error').remove(); 6377 return false;
6378 } else { 6379 $(this).closest('.cl-s-form-wrap').removeClass('empty'); 6380 $(this).closest('.cl-s-form-wrap').next('.cl-s-control-label.error').remove(); 6381 6382 if(val.length > 0 && checkEmojis(val)){ 6383 error_str = $.lang[LANG]['config.unable.emoji']; 6384 6385 } else if( ($(this).is('#addrPopup-alias') || $(this).is('#addrPopup-name')) && val.length > 50) { 6386 error_str = '50ì ì´ë´ë¡ ì ë ¥í´ ì£¼ì¸ì.'; 6387 } 6388 6389 if(error_str.length > 0) { 6390 $(this).closest('.cl-s-form-wrap').addClass('error'); 6391 if($(this).parent().find('.cl-s-control-label.error').length > 0) { 6392 $(this).parent().find('.cl-s-control-label.error').html(error_str); 6393 } else { 6394 $(this).after('<label for="input" class="cl-s-control-label error">' + error_str + '</label>'); 6395 } 6396 return false; 6397 } 6398 } 6399 6400 // ì í¨ì± íµê³¼ ì ìë¬ ë¬¸êµ¬ë¤ ì ê±° 6401 $(this).closest('.cl-s-form-wrap').removeClass('error').removeClass('empty'); 6402 $(this).closest('.cl-s-form-wrap').find('.cl-s-control-label.error').remove(); 6403 6404 } 6405 }); 6406 //ë 벨ë³ê²½ í ì¶ê° 6407 $('.member-level-btn').live('click', function() { 6408 if($(this).hasClass('member_disabled')) { 6409 siteNotice('manager'); 6410 return false; 6411 } 6412 var blank = $('input[type="checkbox"]:checked').hasClass("blank"); 6413 if(blank){ 6414 $(this).showModalFlat($.lang[LANG]['manager.list.member.selected.empty.title'], $.lang[LANG]['manager.list.member.selected.blank'],true,false,'','ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0 cl-member-list-block'); 6415 return false; 6416 } 6417 6418 var check_data = getMemberListCheckData($(this)), 6419 mng_settings_el = $(this).closest('.mng-settings'); 6420 6421 if( typeof check_data.error != 'undefined' && check_data.error) { 6422 $(this).showModalFlat($.lang[LANG]['manager.list.member.selected.empty.title'], check_data.error,true,false,'','ok','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0 cl-member-list-block'); 6423 return false; 6424 } 6425 6426 var first_name = (LANG == 'en' && check_data.count > 0) ? '' : '<span class="addressee-name">' + check_data.name + '</span> ', 6427 others_name = (LANG == 'en' || check_data.count < 1) ? '' : $.lang[LANG]['manager.list.member.selected.multi.1'] + '\ 6428 <span class="addressee-count point" data-toggle="tooltip" data-placement="bottom" data-html="true" data-original-title="' + check_data.names + '">\ 6429 ' + check_data.count + '</span>' + $.lang[LANG]['manager.list.member.selected.multi.2'], 6430 last_name = (LANG == 'en' && check_data.count > 0) ? $.lang[LANG]['manager.list.member.selected.multi.3'] : '', 6431 selected_str = $.lang[LANG]['manager.list.member.level.txt.1'] + first_name + others_name + last_name + $.lang[LANG]['manager.list.member.level.txt.2']; 6432 6433 //ë 벨ì«ìë²í¼ ìì± 6434 var level_btn = ""; 6435 for(var i=1; i < 11; i++){ 6436 level_btn += '<button class="btn-lg btn-default level-btn" value="' + i + '">' + i + '</button>'; 6437 } 6438 6439 var modal_content = '\ 6440 <div class="mng-modal-body level-modal">\ 6441 <p class="addressee-wrap">\ 6442 ' + selected_str + '\ 6443 </p>\ 6444 ' + level_btn + '\ 6445 </div>\ 6446 '; 6447 6448 var level_modal = $(this).showModalFlat($.lang[LANG]['manager.list.member.level.title'], modal_content, true, true, function() { 6449 var uids = check_data.ids; 6450 var level = $(".level-modal").children(".active").val(); 6451 6452 if(level == "undefined" || !level){ 6453 alert("ë 벨ì ì íí´ ì£¼ì¸ì"); 6454 return false; 6455 } 6456 6457 if(typeof uids == 'undefined' || !uids) { 6458 window.location.reload(); 6459 return false; 6460 } 6461 6462 $.ajax({ 6463 type: 'POST', 6464 url: '/umember/update/type/level', 6465 data: { sid : SID, uids : uids, val : level }, 6466 dataType: 'json', 6467 async: true, 6468 success: function(data) { 6469 if(typeof data.error != 'undefined' && data.error) { 6470 //alert(data.error); 6471 if(level_modal.find('.error').length == 0) level_modal.find('.level-modal').append('<span class="error">' + data.error + '</span>'); 6472 else level_modal.find('.level-modal').find('.error').text(data.error); 6473 return false; 6474 } else { 6475 level_modal.modal('hide'); 6476 } 6477 location.reload(true); 6478 } 6479 }); 6480 6481 }, 'cancel','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0',true); 6482 }); 6483
6484 $('input[type="checkbox"].cl-etc-input-val').live('click',function(){ 6485 if($(this).is(":checked")===true) { 6486 6487 console.log($(this).prop('checked')); 6488 $(this).prop('checked',true); 6489 } else { 6490 6491 console.log($(this).prop('checked')); 6492 $(this).prop('checked',false); 6493 } 6494 6495 }); 6496 6497 $('.member-info').live('click', function() { 6498 var isGabia = ($('.dashboard_u.gabia').length > 0) ? true : false, 6499 checkViewMode = ($(this).find('.collection-view').length > 0) ? true : false, 6500 uid = $(this).closest('tr').attr('data-uid'), 6501 mng_settings_el = $(this).closest('.mng-settings'), 6502 list_type = mng_settings_el.attr('data-type'), 6503 list_str = '', 6504 no_active_btn = $('div[data-ssuser]').attr('data-ssuser'); 6505 6506 $.post('/umember/lists/type/memberinfo', { sid : SID, val : uid }, function(data) { 6507 if(typeof data.error != 'undefined' && data.error) { 6508 alert(data.error); 6509 return false; 6510 } 6511 var page_type = $('.mng-settings').attr('data-type'), 6512 slog_p = ''; 6513 if(typeof page_type != 'undefined' && page_type) { 6514 if(page_type == 'member-waitlist') setSiteLogs('um.wait','info',{'id':uid},'um.waitlist'); 6515 else setSiteLogs('um.list','info',{'id':uid},'um.list'); 6516 } 6517 var cert_use = $('.memberlist-table').attr('data-cert'); 6518 $.each(data, function(k,o) { 6519 if(isGabia && $.inArray(k, ['cert_date','cert_adult_date']) > -1) return true; 6520 var cl_name = (o['name']) ? o['name'] : $.lang[LANG]['manager.list.info.'+k], 6521 cl_type = (o['type']) ? o['type'] : 'text', 6522 cl_val = (o['value']) ? o['value'].replace(/\"/g,'"').replace(/\'/g,''').replace(/\</g,'<').replace(/\>/g,'>') : '', 6523 pass_field = ['no','addr2','umseq'], 6524 disabled_field = ['id','approvaldate'], 6525 cl_jcol_list_type = ((o['type']=='check') || (o['type']=='radio')) ? 'cl-etc-list-type' : ''; 6526 6527 list_str += ($.inArray(k,pass_field) > -1) ? '' : '\ 6528 <div class="form-group">\ 6529 <label class="memW-title control-label '+cl_jcol_list_type+' " id="member-'+ k + '-label">'+ cl_name + '</label>\ 6530 <div class="memW-info-wrap">\ 6531 '; 6532 6533 if(k=='birth') cl_val = (cl_val=='0000-00-00') ? '' : cl_val; 6534 6535 switch(k) { 6536 case 'no': 6537 case 'addr2': 6538 case 'umseq': 6539 break; 6540 6541 case 'addr1': 6542 var addr2_str = (data['addr2']['value']) ? '||' + data['addr2']['value'] : '|| ', 6543 addr_str = (cl_val.indexOf('||') === -1) ? ' || '+cl_val+addr2_str : cl_val+addr2_str, 6544 addr = addr_str.split('||'), 6545 plan_type = (typeof property != 'undefined' && property) ? property.VALIDTYPE : VALIDTYPE, 6546 checkSM = (typeof plan_type != 'undefined' && (plan_type == 'SM' || plan_type == 'SHOPPING')) ? true : false, 6547 usedAddrSearchModal = (checkSM || o['addrsearch']) ? 'readonly onclick="addrSearchModal(\'member\')"' : ''; 6548 ; 6549 6550 var sm_addr = (data && data.umseq) ? data.umseq : '', 6551 sm_name = (sm_addr && sm_addr.to_name) ? sm_addr.to_name : '', 6552 sm_alias = (sm_addr && sm_addr.alias) ? sm_addr.alias : '', 6553 sm_tel = (sm_addr && sm_addr.to_tel) ? sm_addr.to_tel : '', 6554 addr_list_btn =''; 6555 addr_default_html = ''; 6556 if(sm_addr || checkSM) { 6557 6558 addr_list_btn += '\ 6559 <div class="cl-s-form-wrap btn-load-addresses adm-member-addr '+(!sm_addr? 'hide' : '' )+' " data-action="adm-edit">\ 6560 <div class="cl-s-form-group "><span>ë°°ì¡ì§ 목ë¡</span>\ 6561 </div>\ 6562 </div>'; 6563 6564 addr_default_html += '\ 6565 <div class="sm-parent '+ (!sm_addr ? 'emptyFlag' : '') +'">\ 6566 <div class="cl-s-form-wrap">\ 6567 <div class="cl-s-form-group">\ 6568 <div class="cl-s-form-control"><div class="sm-name">'+sm_name+'</div><div class="sm-alias ' +(sm_alias ? '':'hide')+ '">' +(sm_alias ? '('+sm_alias+')' : '' )+ ' </div><div class="sm-default-addr"><span>기본배ì¡ì§</span></div></div>\ 6569 <div class="cl-s-form-control"><div class="sm-addr1"><span class=" '+ (addr[0]?.trim() ? '' : 'hide')+' "> '+(addr[0]?.trim() ? '['+ addr[0]?.trim() +']' : '' )+'</span><span>'+ addr[1].trim() +' '+ addr[2].trim() +'</span></div></div>\ 6570 <div class="cl-s-form-control"><div class="sm-tel">'+sm_tel+'</div></div>\ 6571 <div class="cl-s-form-control noaddress" style="text-align:center; padding:20px; color:#999;">ë±ë¡ë ë°°ì¡ì§ê° ììµëë¤.</div>\ 6572 </div>\ 6573 </div>\ 6574 </div>\ 6575 '; 6576 } 6577 6578 if(list_type == 'member-list') { 6579 if(sm_addr || checkSM) { list_str += addr_list_btn; } 6580 6581 list_str += '\ 6582 <input class="hide" id="member-postcode" type="hidden" value="' + addr[0].trim() + '">\ 6583 <div class="cl-common-form-wrap nonplace-holder">\ 6584 <div class="cl-common-form-group">\ 6585 <input class="member-info-input form-control" id="member-'+ k + '" type="text" value="' + addr[1].trim() + '" ' + usedAddrSearchModal + ' name="member-'+ k + '" required="required">\ 6586 </div>\ 6587 </div>\ 6588 <div class="cl-common-form-wrap nonplace-holder">\ 6589 <div class="cl-common-form-group">\ 6590 <input class="member-info-input form-control" id="member-addr2" type="text" value="' + escapeHtml(addr[2].trim()) + '" name="member-addr2" required="required">\ 6591 </div>\ 6592 </div>\ 6593 '; 6594 6595 if (sm_addr || checkSM) { list_str += addr_default_html;} 6596 } else { 6597 list_str += '\ 6598 <input class="hide" id="member-postcode" type="hidden" value="' + addr[0].trim() + '">\ 6599 <span id="member-'+ k + '" '+usedAddrSearchModal+'>' 6600 + addr[1].trim() + ((addr[2].trim() != '') ? '<br>'+addr[2].trim() : '') + 6601 '</span>\ 6602 '; 6603 } 6604 break; 6605 case 'gender': 6606 if(list_type == 'member-list') { 6607 var disabled = (cert_use == 'Y' || cert_use == 'A' || checkViewMode) ? ' disabled':''; 6608 list_str += '\ 6609 <select class="form-control" name="member-'+ k + '" id="member-'+ k+ '"'+disabled+'>\ 6610 <option value="">ì í</option>'; 6611 if(o['value'] == '01') { 6612 list_str += '\ 6613 <option value="01" selected>ë¨</option>\ 6614 <option value="02">ì¬</option>'; 6615 } else if(o['value'] == '02') { 6616 list_str += '\ 6617 <option value="01">ë¨</option>\ 6618 <option value="02" selected>ì¬</option>'; 6619 } else { 6620 list_str += '\ 6621 <option value="01">ë¨</option>\ 6622 <option value="02">ì¬</option>'; 6623 } 6624 list_str += '\ 6625 </select>\ 6626 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 4" width="8" height="4"><path d="m0 0 4 4 4-4z"/></svg>\ 6627 '; 6628 } else { 6629 var gender_val = (cl_val)? ((cl_val == '01')? 'ë¨':'ì¬'):'';
6630 list_str += '\ 6631 <span id="member-'+ k + '">' 6632 + gender_val + 6633 '</span>\ 6634 '; 6635 } 6636 6637 break; 6638 case 'memo': 6639 var m_count = cl_val.length, 6640 checkReadonly = (checkViewMode) ? 'readonly' : ''; 6641 if(list_type == 'member-list') { 6642 list_str += '\ 6643 <textarea class="form-control" name="member-'+ k + '" id="member-'+ k+ '" rows="3" '+checkReadonly+'>' + cl_val + '</textarea>\ 6644 <label for="member-'+ k + '"><span class="write-count">' + m_count + '</span>/1000</label>\ 6645 '; 6646 } else { 6647 list_str += '\ 6648 <span id="member-'+ k+ '">' + cl_val + '</span>'; 6649 } 6650 break; 6651 6652 case 'birth': 6653 if(list_type == 'member-list') { 6654 var disabled = (cert_use == 'Y' || cert_use == 'A') ? ' disabled':''; 6655 list_str += '\ 6656 <div class="cl-common-form-wrap nonplace-holder">\ 6657 <div class="cl-common-form-group'+disabled+'">\ 6658 <input class="member-info-input form-control birthKeyCheck" id="member-'+ k + '" type="text" value="' + cl_val + '" name="member-'+ k + '" onkeyup="auto_date_format(event, this)" onkeypress="auto_date_format(event, this)" required="required"'+disabled+'>\ 6659 </div>\ 6660 </div>\ 6661 '; 6662 } else { 6663 list_str += '\ 6664 <span id="member-'+ k + '" class="birthKeyCheck" onkeyup="auto_date_format(event, this)" onkeypress="auto_date_format(event, this)">' 6665 + cl_val + 6666 '</span>\ 6667 '; 6668 } 6669 6670 break; 6671 6672 case 'cert_date': 6673 case 'cert_adult_date': 6674 if(list_type == 'member-list') { 6675 list_str += '\ 6676 <div class="cl-common-form-wrap nonplace-holder member-'+ k + '-wrap">'; 6677 if(cl_val != '' && cl_val != '0000-00-00 00:00:00') { 6678 list_str += '\ 6679 <div class="cl-common-form-group">\ 6680 <input class="member-info-input form-control" id="member-'+ k + '" type="text" value="' + cl_val + '" name="member-'+ k + '" required="required" ' + prev_val + ' disabled>\ 6681 </div>'; 6682 } 6683 list_str += '\ 6684 </div>\ 6685 '; 6686 } else { 6687 if(cl_val != '' && cl_val != '0000-00-00 00:00:00') { 6688 list_str += '\ 6689 <span id="member-'+ k + '">' 6690 + cl_val + 6691 '</span>\ 6692 '; 6693 } 6694 } 6695 6696 break; 6697 default: 6698 var disabled = ($.inArray(k,disabled_field) > -1) ? 'disabled' : '', 6699 prev_val = (k == 'email' || k == 'nick') ? 'data-prev="' + cl_val + '"' : '', 6700 cl_type_str = ''; 6701 6702 if(list_type == 'member-list') { 6703 if($.inArray(k, ['name', 'tel']) > -1 && (cert_use == 'Y' || cert_use == 'A')) disabled = 'disabled'; 6704 var list_jcolval = [o['jcol_val']]; 6705 if((cl_type=='select') || (cl_type=='check') || (cl_type=='radio')) { 6706 list_jcolval = (o['jcol_val'].indexOf('`') > -1) ? o['jcol_val'].split('`') : list_jcolval; 6707 } 6708 6709 switch (cl_type) { 6710 case 'memo': 6711 cl_type_str += '<textarea class="form-control" name="member-'+ k + '" id="member-'+ k+ '" rows="3">' + cl_val + '</textarea>'; 6712 break; 6713 case 'select': 6714 if(list_jcolval.length > 0) { 6715 cl_type_str += '\ 6716 <select class="form-control etc-select" name="member-'+ k + '" id="member-'+ k+ '"'+disabled+'>\ 6717 <option value="">ì í</option>'; 6718 $.each(list_jcolval, function(i,v) { 6719 var selected = (v==cl_val) ? 'selected' : ''; 6720 cl_type_str += '\ 6721 <option value="'+v+'" '+selected+'>'+v+'</option>\ 6722 '; 6723 }); 6724 cl_type_str += '\ 6725 </select>\ 6726 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 4" width="8" height="4"><path d="m0 0 4 4 4-4z"/></svg>\ 6727 '; 6728 } 6729 6730 break; 6731 6732 case 'radio': 6733 if(list_jcolval.length > 0) { 6734 $.each(list_jcolval, function(i,v) { 6735 var checked = (v==cl_val) ? 'checked' : ''; 6736 cl_type_str += '\ 6737 <div class="newcheckbox cl-etc-jcoltype">\ 6738 <label>\ 6739 <div class="newcheckboxSvgRadio">\ 6740 <input type="radio" class="form-control cl-common-form-radio-hide cl-etc-input-val cl-s-form-control" id="member-'+ k + '-'+i+'" name="member-'+ k + '" value="'+v+'" '+checked+'>\ 6741 <svg viewBox="0 0 18 18" width="18" height="18">\ 6742 <path d="M9 0C4.03 0 0 4.03 0 9c0 4.97 4.03 9 9 9s9-4.03 9-9C18 4.03 13.97 0 9 0zM9 17c-4.41 0-8-3.59-8-8
67420-4.41 3.59-8 8-8s8 3.59 8 8C17 13.41 13.41 17 9 17z"/>\ 6743 </svg>\ 6744 <svg class="active" viewBox="0 0 18 18" width="18" height="18">\ 6745 <path d="M9 0C4.03 0 0 4.03 0 9c0 4.97 4.03 9 9 9s9-4.03 9-9C18 4.03 13.97 0 9 0zM9 17c-4.41 0-8-3.59-8-8 0-4.41 3.59-8 8-8s8 3.59 8 8C17 13.41 13.41 17 9 17z"/>\ 6746 <circle cx="9" cy="9" r="6"/>\ 6747 </svg>\ 6748 </div>\ 6749 <span>'+v+'</span>\ 6750 </label>\ 6751 </div>\ 6752 '; 6753 }); 6754 } 6755 6756 break; 6757 6758 case 'check': 6759 if(list_jcolval.length > 0) { 6760 $.each(list_jcolval, function(i,v) { 6761 var checked = ((cl_val.indexOf('`') > -1) && (cl_val.indexOf(v.trim()) > -1)) ? 'checked' : (v==cl_val ? 'checked' : ''); 6762 cl_type_str += '\ 6763 <div class="newcheckbox cl-etc-jcoltype">\ 6764 <label>\ 6765 <div class="newcheckboxSvg">\ 6766 <input type="checkbox" class="form-control cl-common-form-radio-hide cl-etc-input-val cl-s-form-control" id="member-'+ k + '-'+i+'" name="member-'+ k + '" value="'+v+'" '+checked+'>\ 6767 <svg viewBox="0 0 16 16" width="16" height="16">\ 6768 <path class="st6" d="M3 0h10c1.66 0 3 1.34 3 3v10c0 1.66-1.34 3-3 3H3c-1.66 0-3-1.34-3-3V3C0 1.34 1.34 0 3 0z"></path>\ 6769 <path class="st19" d="M13 1c1.1 0 2 0.9 2 2v10c0 1.1-0.9 2-2 2H3c-1.1 0-2-0.9-2-2V3c0-1.1 0.9-2 2-2H13M13 0H3C1.34 0 0 1.34 0 3v10c0 1.66 1.34 3 3 3h10c1.66 0 3-1.34 3-3V3C16 1.34 14.66 0 13 0L13 0z"></path>\ 6770 </svg>\ 6771 <svg class="active" viewBox="0 0 16 16" width="16" height="16">\ 6772 <rect x="2" y="2" class="st6" width="12" height="12"></rect>\ 6773 <path class="st19" d="M13 0H3C1.34 0 0 1.34 0 3v10c0 1.66 1.34 3 3 3h10c1.66 0 3-1.34 3-3V3C16 1.34 14.66 0 13 0zM13.03 6.03l-5.5 5.5C7.38 11.68 7.19 11.75 7 11.75s-0.38-0.07-0.53-0.22l-3.5-3.5c-0.29-0.29-0.29-0.77 0-1.06s0.77-0.29 1.06 0L7 9.94l4.97-4.97c0.29-0.29 0.77-0.29 1.06 0S13.32 5.74 13.03 6.03z"></path>\ 6774 </svg>\ 6775 </div>\ 6776 <span>'+v+'</span>\ 6777 </label>\ 6778 </div>\ 6779 '; 6780 }); 6781 } 6782 6783 break; 6784 6785 case 'fupload': 6786 // ë¨ì¼ íì¼ ì ë¡ë íì ì¼ ê²½ì° ë¤ì´ë¡ë ë§í¬ ìì± 6787 // view.htmlê³¼ ëì¼íê² explode ì¬ì© 6788 6789 // fileurlcreate í¨ì를 ì¬ì©íì¬ íì¼ URL ìì± 6790 var fileResult = $.umember.fileurlcreate(cl_val); 6791 var download_link = fileResult.download_link; 6792 var file_data = fileResult.file_data; 6793 cl_type_str += $.umember.fileHtmlRender(k, { 6794 //cpage : (check_page =='mypage') ? 'mypage' :'join', 6795 val : file_data || '', 6796 type : "type2", 6797 type2_downlink : download_link, 6798 }) 6799 6800 break; 6801 6802 default: 6803 cl_type_str += '\ 6804 <div class="cl-common-form-wrap nonplace-holder" id="member-'+ k + '">\ 6805 <div class="cl-common-form-group '+disabled+'">\ 6806 <input class="member-info-input form-control" id="member-'+ k + '" type="text" value="' + cl_val + '" ' + disabled + ' name="member-'+ k + '" required="required" ' + prev_val + '>\ 6807 </div>\ 6808 </div>'; 6809 break; 6810 } 6811 6812 list_str += cl_type_str; 6813 6814 } else { 6815 if((cl_type=='select') || (cl_type=='check') || (cl_type=='radio')) { 6816 cl_val = (cl_val.indexOf('`') > -1) ? cl_val.replace(/`/gi,',') : cl_val; 6817 } 6818 6819 if(cl_type=='fupload' && cl_val) { 6820 var templink = $.umember.fileurlcreate(cl_val|| ''); 6821 6822 var tempdownicon = '<svg class="file-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M5 19v-3.5h1V18h12v-2.5h1V19H5Zm2.65-7.15.71-.71 3.15 3.15V5h1v9.29l3.15-3.15.71.71-4.35 4.35-4.35-4.35Z"/></svg>' 6823 cl_val = '' 6824 + '<div class="fupload-cell">' 6825 + '<span class="file-name">' + templink.file_info.name + '</span>' 6826 + templink.download_link // <a href="... " class="file-download-btn" target="_blank"> 6827 + tempdownicon // <svg ...>
6828 + '</a>' 6829 + '</div>'; 6830 } 6831 6832 list_str += '\ 6833 <span id="member-'+ k + '">' 6834 + cl_val + 6835 '</span>\ 6836 '; 6837 } 6838 break; 6839 } 6840 list_str += ($.inArray(k,pass_field) > -1) ? '' : '\ 6841 </div>\ 6842 </div>\ 6843 '; 6844 }); 6845 6846 var modal_view = (checkViewMode) ? 'readonly' : '', 6847 modal_content = '\ 6848 <div class="mng-modal-body info-modal '+modal_view+'" data-uid="' + uid + '" data-list-type="' + list_type + '">\ 6849 <div class="form-horizontal">\ 6850 ' + list_str + '\ 6851 </div>\ 6852 </div>\ 6853 '; 6854 if(list_type == 'member-list') { 6855 var closed_txt = (checkViewMode) ? 'close' : 'cancel'; 6856 var info_modal = $(this).showModalFlat($.lang[LANG]['manager.member.details.title'], modal_content, true, !checkViewMode, function() { 6857 6858 var info_data = {}, 6859 regExp_arr = ['name','nick','email','tel','birth'], 6860 regexp = { 6861 name: /^[a-zA-Z0-9ã±-ã ã -ã £ê°-í£ ]*$/i, 6862 nick: /^[a-zA-Z0-9ã±-ã ã -ã £ê°-í£ ]*$/i, 6863 email: /^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/i, 6864 tel: /^[0-9-+]*$/, 6865 birth: /^(19[0-9][0-9]|20\d{2})-(0[0-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/, 6866 }, 6867 check_error = false, 6868 slog_more = '', 6869 slog_more_array = {}, 6870 etc_Array = [], 6871 etc_i= 0; 6872 6873 $('.info-modal').find('.form-control:not([disabled])').each(function(i) { 6874 var type = $(this).attr('id').replace(/(member\-)|(\-\d)/gi,''), 6875 type_str = $(this).closest('.form-group').find('.control-label').text(), 6876 error_str = '', 6877 etc_type_arr = etc_Array[type]; 6878 6879 if($(this).parents('.newcheckbox').hasClass('cl-etc-jcoltype')) { 6880 6881 if($(this).is(":checked")) { 6882 val = $(this).val().trim(); 6883 var check_jcol_first = false; 6884 if((typeof $(this).parents('.form-group').attr('data-jcolval')=='undefined') || (!$(this).parents('.form-group').attr('data-jcolval'))) { 6885 check_jcol_first = true; 6886 $(this).parents('.form-group').attr('data-jcolval',val); 6887 } 6888 6889 var jcolVal = $(this).parents('.form-group').attr('data-jcolval'); 6890 if($(this).parents('.form-group').find('.cl-etc-input-val:checked').length>1 && val && !check_jcol_first) { 6891 val = jcolVal + '`' + val; 6892 val = val.replace(/\`$/gi, ''); 6893 $(this).parents('.form-group').attr('data-jcolval',val); 6894 } 6895 } else { 6896 if($(this).parents('.form-group').find('.cl-etc-input-val:checked').length==0) val = ''; 6897 } 6898 6899 } else val = $(this).val().trim(); 6900 6901 if(typeof $(this).parents('.form-group').attr('data-jcolval') != 'undefined' && $(this).parents('.form-group').attr('data-jcolval')) { 6902 val = $(this).parents('.form-group').attr('data-jcolval'); 6903 } 6904 6905 var emoji_val = (type.indexOf('addr') > -1) ? $('#member-addr1').val().trim() + ' ' + $('#member-addr2').val().trim() : val; 6906 if(checkEmojis(emoji_val)) error_str = $.lang[LANG]['config.unable.emoji']; 6907 else { 6908 // if(type == 'addr1') slog_more += type_str+' : '+val; 6909 // else if(type == 'addr2') slog_more += ' '+val+'<br>'; 6910 // else slog_more += type_str+' : '+val+'<br>'; 6911 6912 if((val.length == 0 && type != 'email') || regExp_arr.indexOf(type) == -1) { 6913 6914 if(type == 'addr1') val = $('#member-postcode').val() + ' || ' + val; 6915 info_data[type] = val; 6916 6917 if(type=='addr2') { 6918 slog_more_array[type_str] = info_data['addr1'] + ' ' + val; 6919 } else slog_more_array[type_str] = val; 6920 6921 return true; 6922 } 6923 if(!regexp[type].test(val)) { 6924 error_str = $.lang[LANG]['siteum.regexp.check.'+type]; 6925 if(val.length == 0 && type == 'email') error_str = $.lang[LANG]['manager.check.required.message']; 6926 } else if(type == 'nick' && (val.length < 1 || val.length > 20)) { 6927 error_str = $.lang[LANG]['siteum.regexp.check.nick']; 6928 } else { 6929 $(this).closest('.form-group').removeClass('has-error'); 6930 $(this).parent().find('.mng-error').remove(); 6931 info_data[type] = val; 6932 slog_more_array[type_str] = val; 6933 } 6934 6935 6936 6937 } 6938 var this_group = $(this).closest('.form-group'); 6939 if(error_str.length > 0) { 6940 var error_icon = '\
6941 <svg class="error-icon" viewBox="0 0 13 13" width="13" height="13">\ 6942 <path d="M6.5 0C2.91 0 0 2.91 0 6.5S2.91 13 6.5 13 13 10.09 13 6.5 10.09 0 6.5 0zM6.5 12C3.47 12 1 9.53 1 6.5S3.47 1 6.5 1 12 3.47 12 6.5 9.53 12 6.5 12z"/>\ 6943 <rect x="6" y="3" width="1" height="5"/>\ 6944 <rect x="6" y="9" width="1" height="1"/>\ 6945 </svg>\ 6946 '; 6947 6948 this_group.addClass('has-error'); 6949 if(this_group.find('.mng-error').length > 0 ) this_group.find('.mng-error').html(error_icon + error_str); 6950 else this_group.append('<span class="mng-error">' + error_icon + error_str + '</span>'); 6951 6952 if($(this).closest('.form-horizontal').find('.has-error').length == 0) $(this).focus(); 6953 } 6954 }).promise().done(function() { 6955 6956 check_error = ($('.info-modal').find('.has-error').length == 0) ? true : false; 6957 if(!check_error) { 6958 $('.info-modal').find('.has-error').first().find('input').focus(); 6959 return false; 6960 } else { 6961 // deletes í´ëì¤ê° ìë íì¼ë¤ ìì§ 6962 var deletedFiles = []; 6963 $('.info-modal .valueCheck[data-etcidx]').each(function() { 6964 var $inputElement = $(this); 6965 6966 deletedFiles.push({ 6967 file_name: $inputElement.attr('data-file-name'), 6968 etcIdx: $inputElement.attr('data-etcidx'), 6969 id: $inputElement.attr('data-id') 6970 }); 6971 }); 6972 $.processON(); 6973 6974 $.ajax({ 6975 type: 'POST', 6976 url: '/umember/update/type/member', 6977 data: { sid : SID, val: JSON.stringify(info_data), uid : uid ,addrnoupdate : data.umseq,deleted_files: JSON.stringify(deletedFiles)}, 6978 dataType: 'json', 6979 async: true, 6980 success: function(data) { 6981 6982 if(typeof data.error != 'undefined' && data.error) { 6983 $.each(data.error, function(key,str) { 6984 if(info_modal.find('#member-'+key).length > 0 ) { 6985 info_modal.find('#member-'+key).focus(); 6986 if(info_modal.find('#member-'+key).closest('.form-group').find('.mng-error').length > 0) info_modal.find('#member-'+key).closest('.form-group').find('.mng-error').text(str); 6987 else info_modal.find('#member-'+key).closest('.form-group').append('<span class="mng-error">' + str + '</span>'); 6988 } else { alert(str); return false; } 6989 }); 6990 $.processOFF(); 6991 6992 if(info_modal.find('.mng-error').length > 0) return false; 6993 } 6994 $.processOFF(); // ì±ê³µ ììë processOFF í¸ì¶ 6995 6996 slog_more += '\ 6997 <div class="slog-jcol-wrap">\ 6998 <ul class="slog-jcol-ul">\ 6999 '; 7000 $.each(slog_more_array, function(key,v){ 7001 v = (v.indexOf('`')>-1) ? v.replace(/`/gi,', ') : v; 7002 slog_more += '\ 7003 <li class="slog-jcol-li">\ 7004 <div class="slog-jcol-title">'+key+'</div>\ 7005 <div class="slog-jcol-contents">'+v+'</div>\ 7006 </li>\ 7007 '; 7008 }); 7009 7010 slog_more += '\ 7011 </ul>\ 7012 </div>\ 7013 '; 7014 7015 //console.log(slog_more); 7016 setSiteLogs('um.edit','info',{'id':uid,'more':slog_more},'um.list'); 7017 7018 info_modal.find('.mng-error').remove(); 7019 info_data.addr = info_data.addr1+' '+info_data.addr2; 7020 console.log(info_data); 7021 $.each(info_data, function(k, v) { 7022 if(k == 'gender') { 7023 v = (v == '01')? 'ë¨':'ì¬'; 7024 } 7025 // fupload íì ê°ì¸ì§ íì¸íê³ ê¸°ì¡´ í¨ì íì© 7026 if (typeof v === 'string' && v.indexOf('storage.googleapis.com/cr-resource/flink') > -1) { 7027 var fileResult = $.umember.fileurlcreate(v); 7028 if (fileResult.download_link) { 7029 v = fileResult.download_link + 7030 fileResult.file_info.name + ' (' + fileResult.file_info.size_display + ')</a>'; 7031 } 7032 } 7033 // HTMLì´ í¬í¨ë ê²½ì° html() ë©ìë ì¬ì© 7034 if (typeof v === 'string' && v.indexOf('<a') > -1) { 7035 $('.mng-list table tr[data-uid="' + uid + '"]').find('.'+k).html(v); 7036 } else { 7037 7038 $('.mng-list table tr[data-uid="' + uid + '"]').find('.'+k).text(v); 7039 } 7040 7041 }); 7042 7043 info_modal.modal('hide'); 7044 }, 7045 error: function(xhr, status, error) { 7046 console.error('AJAX ìì² ì¤í¨:', error); 7047 $.processOFF(); // ìë¬ ììë processOFF í¸ì¶ 7048 } 7049 }); 7050 } 7051 7052 }); 7053 7054 }, closed_txt, 'save', 'memberinfo-modal cl-cmmodal cl-s-btn cover', true, '', function() { 7055 7056 var regexp = { 7057 name: /^[a-zA-Z0-9ã±-ã ã -ã £ê°-í£ ]*$/i, 7058 nick: /^[a-zA-Z0-9ã±-ã ã -ã £ê°-í£ ]*$/i, 7059 email: /^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/i, 7060 tel: /^[0-9-+]*$/, 7061 birth: /^(19[0-9][0-9]|20\d{2})-(0[0-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/, 7062 }; 7063 7064 var info_recheck_regexp = function(input,event_type) { 7065 var type = $(input).attr('id').replace(/member-/i,''), 7066 val = $(input).val().trim(), 7067 emoji_val = (type.indexOf('addr') > -1) ? $('#member-addr1').val().trim() + ' ' + $('#member-addr2').val().trim() : '', 7068 error_str = ''; 7069 7070 if(checkEmojis(emoji_val)) error_str = $.lang[LANG]['config.unable.emoji']; 7071 else if(regexp.hasOwnProperty(type)) { 7072 if(!regexp[type].test(val)) error_str = $.lang[LANG]['siteum.regexp.check.'+type]; 7073 else { 7074 var checkDuplicate = ( event_type == 'blur' && 7075 $.inArray(type, ['email','nick']) > -1 && 7076 typeof $(input).attr('data-prev') != 'undefined' && 7077 $(input).attr('data-prev').trim().toLowerCase() != val.toLowerCase() 7078 ) ? true : false;
7079 if(type == 'email' && $('input#member-id').val().trim().toLowerCase() == val.toLowerCase()) checkDuplicate = false; 7080 else if(type == 'nick' && ($('input#member-nick').val().trim().length < 1 || $('input#member-nick').val().trim().length > 20)) { 7081 checkDuplicate = false; 7082 error_str = $.lang[LANG]['siteum.regexp.check.nick']; 7083 } 7084 if(checkDuplicate) { 7085 var splan = (typeof VALIDTYPE != 'undefined' && VALIDTYPE) ? VALIDTYPE : ''; 7086 $.post('/umember/join/used_check', { sid : SID, field : type, data : val, splan : splan }, function(check_result) { 7087 if(typeof check_result.error != 'undefined' && check_result.error) { 7088 error_str = check_result.error; 7089 } 7090 }, 'json'); 7091 } 7092 } 7093 } 7094 7095 7096 if(error_str.length > 0) { 7097 var error_html = '<span class="mng-error">\ 7098 <svg class="error-icon" viewBox="0 0 13 13" width="13" height="13">\ 7099 <path d="M6.5 0C2.91 0 0 2.91 0 6.5S2.91 13 6.5 13 13 10.09 13 6.5 10.09 0 6.5 0zM6.5 12C3.47 12 1 9.53 1 6.5S3.47 1 6.5 1 12 3.47 12 6.5 9.53 12 6.5 12z"/>\ 7100 <rect x="6" y="3" width="1" height="5"/>\ 7101 <rect x="6" y="9" width="1" height="1"/>\ 7102 </svg>' + error_str + '</span>\ 7103 '; 7104 7105 $(input).closest('.form-group').addClass('has-error'); 7106 if($(input).closest('.form-group').find('.mng-error').length > 0) $(input).closest('.form-group').find('.mng-error').replaceWith(error_html); 7107 else $(input).closest('.form-group').append(error_html); 7108 } else { 7109 $(input).closest('.form-group').removeClass('has-error').find('.mng-error').remove(); 7110 } 7111 } 7112 7113 $('.info-modal .form-control').live({ 7114 keyup : function(e) { info_recheck_regexp($(this),'keyup'); }, 7115 blur : function(e) { info_recheck_regexp($(this),'blur'); } 7116 }); 7117 7118 }); 7119 7120 7121 $('#member-memo').live('keyup', function() { 7122 var str = $(this).val(); 7123 if(str.length > 0) $(this).closest('.form-group').find('.mng-error').remove(); 7124 $(this).next('label').find('.write-count').text(str.length); 7125 if(str.length > 1000) { 7126 $(this).val($(this).val().substring(0, 1000)); 7127 } 7128 }); 7129 if(no_active_btn) $('.memberinfo-modal.cl-cmmodal .ok-button-dialog.btn-sm').addClass(no_active_btn); 7130 } else { // only show__ 7131 var info_modal = $(this).showModalFlat($.lang[LANG]['manager.member.details.title'], modal_content, true, false, '', 'ok', '', 'member-waitlist cl-cmmodal cl-s-btn cover'); 7132 if(no_active_btn) $('.member-waitlist.cl-cmmodal .ok-button-dialog.btn-sm').addClass(no_active_btn); 7133 } 7134 7135 7136 }, 'json'); 7137 7138 }); 7139 7140 /***************************************************************************************************************************************member-list page END*/ 7141 7142 7143 7144 7145 7146 /*********************************************************************************************************************************member-waitlist page START*/ 7147 $('.approval-btn, .deny-btn').live('click', function() { 7148 if($(this).hasClass('member_disabled')) { 7149 siteNotice('manager'); 7150 return false; 7151 } 7152 var position = $(this).closest('td'), 7153 uno = $(this).closest('tr').attr('data-uno'), 7154 uid = $(this).closest('tr').attr('data-uid'), 7155 result = ($(this).hasClass('approval-btn')) ? 'hand' : 'deny', 7156 wait_cnt = parseInt($(this).closest('.mng-wrap').find('.wait-count').text()), 7157 isDeny = $(this).hasClass('deny-btn') ? true : false, 7158 applyhtml = ''; 7159 7160 if(isDeny) $(this).parents('tr[data-uno="'+uno+'"]').find('.member-info').addClass('hide'); 7161 7162 $.post('/umember/update/type/approval', { sid : SID, val : result, uid : uid, uno : uno }, function(data) { 7163 if(typeof data.error != 'undefined' && data.error) { 7164 alert(data.error); 7165 return false; 7166 } 7167 7168 applyhtml += '\ 7169 <span>'+$.lang[LANG]['manager.wait-list.approval.'+result]+'</span>\ 7170 <span>('+data.result.um_approvaldate+')</span>\ 7171 '; 7172 $('.mng-settings[data-type="member-waitlist"]').find('.wait-count').text(wait_cnt-1); 7173 position.html(applyhtml).addClass('approval-status'); 7174 }, 'json'); 7175 7176 }); 7177 /***********************************************************************************************************************************member-waitlist page END*/ 7178 7179 /********************************************************************************************************************************member-blocklist page START*/ 7180 7181 $('.block-add-btn').live('click', function() { 7182 if($(this).hasClass('member_disabled')) { 7183 siteNotice('manager'); 7184 return false;
7185 } 7186 var mng_settings_el = $(this).closest('.mng-settings'), 7187 add_content = '\ 7188 <div class="form-row">\ 7189 <div class="form-inline clearfix">\ 7190 <div class="form-group col-sm-5">\ 7191 <select id="block-type" class="form-control" name="block-type" placeholder="Search">\ 7192 <option value="id">íì ìì´ë</option>\ 7193 <option value="ip">IP</option>\ 7194 </select>\ 7195 </div>\ 7196 <div class="form-group col-sm-7"><input class="form-control" type="text" id="block-data"/></div>\ 7197 </div>\ 7198 </div>\ 7199 '; 7200 7201 var modal = $(this).showModalFlat('Block data add', add_content, true, true, function() { 7202 var key = modal.find('#block-type').val(), 7203 val = modal.find('#block-data').val().trim(), 7204 regExp_ip = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/gi; 7205 7206 if(key === null) { 7207 modal.find('#block-type').click(); 7208 return false; 7209 } else if(modal.find('.error').length > 0) { 7210 modal.find('#block-data').focus(); 7211 return false; 7212 } else if (modal.find('#block-data').val().trim().length == 0) { 7213 modal.find('#block-data').focus(); 7214 modal.find('#block-data').parent().append('<span class="error">ë´ì©ì ì ë ¥íì¸ì</span>'); 7215 return false; 7216 } else if (key == 'ip' && !regExp_ip.test(val)) { 7217 modal.find('#block-data').focus(); 7218 modal.find('#block-data').parent().append('<span class="error">ip íìì´ ì¬ë°ë¥´ì§ ììµëë¤.</span>'); 7219 return false; 7220 } 7221 7222 $.ajax({ 7223 type: 'POST', 7224 url: '/umember/set/type/block', 7225 data: { sid : SID, key : key, val : val }, 7226 dataType: 'json', 7227 async: true, 7228 success: function(data) { 7229 7230 if(typeof data.error != 'undefined' && data.error) { 7231 if(modal.find('.error').length == 0) modal.find('#block-data').focus().parent().append('<span class="error">' + data.error + '</span>'); 7232 else modal.find('#block-data').focus().next('.error').text(data.error); 7233 return false; 7234 } else { 7235 modal.modal('hide'); 7236 window.location.reload(); 7237 } 7238 7239 } 7240 }); 7241 7242 7243 }, 'cancel','save', 'block-add-modal'); 7244 7245 $('#block-data').live({ 7246 keyup: function() { 7247 $(this).parent().find('.error').remove(); 7248 } 7249 }); 7250 7251 7252 }); 7253 7254 $('.block-clear-btn').live('click', function() { 7255 if($(this).hasClass('member_disabled')) { 7256 siteNotice('manager'); 7257 return false; 7258 } 7259 var block_type = $(this).closest('tr').find('.type').attr('data-type'), 7260 block_val = $(this).closest('tr').find('.val').text().trim(), 7261 block_id = $(this).closest('tr').find('.id').text().trim(), 7262 block_data = $(this).closest('tr').attr('data-id'), 7263 is_uadmin = $(this).parents('.mng-member').attr('data-uadmin'); 7264 7265 if(block_data == 0) return false; 7266 else { 7267 var modal_content = '\ 7268 <div class="mng-modal-body clear-modal">\ 7269 <p class="addressee-wrap">\ 7270 ' + $.lang[LANG]['manager.block-list.block.clear.txt.1'] + '\ 7271 <span class="addressee-name">' + block_id + '</span> \ 7272 ' + $.lang[LANG]['manager.block-list.block.clear.txt.2'] + '\ 7273 </p>\ 7274 </div>\ 7275 '; 7276 7277 var modal = $(this).showModalFlat($.lang[LANG]['manager.block-list.block.clear.title'], modal_content, true, true, function() { 7278 7279 $.ajax({ 7280 type: 'POST', 7281 url: '/umember/delete/type/block', 7282 data: { sid : SID, val : block_data, block_type : block_type, block_val : block_val }, 7283 async: true, 7284 success: function(data) { 7285 if(typeof data.error != 'undefined' && data.error) { 7286 alert(data.error); 7287 return false;
7288 } else { 7289 var cntTr = $(this).parents('table').length; 7290 7291 if(cntTr > 0) window.location.reload(); 7292 else location.href = is_uadmin+'/member/blocklist'; 7293 } 7294 } 7295 }); 7296 7297 },'cancel','','cl-cmmodal cl-s-btn w560 cl-p130 cl-p0'); 7298 7299 } 7300 7301 }); 7302 7303 /**********************************************************************************************************************************member-blocklist page END*/ 7304 7305 7306 /********************************************************************************************************************************member-leavelist page START*/ 7307 $('.leavelist .mng-selectboxlist select.form-control').live('change',function() { 7308 var url_str = ($('header').hasClass('_admin')) ? '/_admin/member/leavelist' : '/manager/member/leavelist', 7309 sfl_sort = $(this).parents('.mng-list').find('.mng-subMenu-list').find('#sfl_sort').val(), 7310 sfl_view = $(this).parents('.mng-list').find('.mng-subMenu-list').find('#sfl_view').val(), 7311 stx = $(this).parents('.mng-list').find('.mng-search-box').find('#stx').val(); 7312 7313 location.replace(url_str+'/page/1/sort/'+sfl_sort+'/view/'+sfl_view); 7314 }); 7315 7316 $('.leavelist .mng-search-box .search-btn').live('click',function(e) { 7317 var url_str = ($('header').hasClass('_admin')) ? '/_admin/member/leavelist' : '/manager/member/leavelist', 7318 sfl_sort = $(this).parents('.mng-list').find('.mng-subMenu-list').find('#sfl_sort').val(), 7319 sfl_view = $(this).parents('.mng-list').find('.mng-subMenu-list').find('#sfl_view').val(), 7320 stx = $(this).parents('.mng-search-box').find('#stx').val(); 7321 7322 if(checkEmojis(stx)) { 7323 e.preventDefault(); 7324 errorEmojisModal(); 7325 return false; 7326 } 7327 7328 setSiteLogs('um.leavelist','search',{'stx':stx},'um.leavelist'); 7329 7330 if(stx.length > 0) stx = '/stx/'+stx; 7331 location.replace(url_str+'/page/1/sort/'+sfl_sort+'/view/'+sfl_view+stx); 7332 }); 7333 7334 function escapeHtml(str) { 7335 return str 7336 .replace(/&/g, '&') 7337 .replace(/"/g, '"') 7338 .replace(/'/g, ''') 7339 .replace(/</g, '<') 7340 .replace(/>/g, '>'); 7341 } 7342 /**********************************************************************************************************************************member-leavelist page END*/ 7343 7344 7345 /****************************************************************************************************************************************Mypage Modal START*/ 7346 $('.my-cl-edit').live({ 7347 click: function() { 7348 var cl = $('.mng-settings[data-type="profile"]').find('.cl-wrap'), 7349 sid = $('#mypage-modal').attr('data-sid'), 7350 uid = $('#mypage-modal').attr('data-uid'); 7351 7352 var clInput = function(type, value) { 7353 if(type == 'id') return; 7354 var str = '\ 7355 <div class="input-group my-cl-update-wrap">\ 7356 '; 7357 7358 $.each(value, function(i,v) { 7359 7360 if(type == 'addr') { 7361 var plan_type = (typeof property != 'undefined' && property) ? property.VALIDTYPE : VALIDTYPE, 7362 checkSM = (typeof plan_type != 'undefined' && (plan_type == 'SM' || plan_type == 'SHOPPING')) ? true : false, 7363 usedAddrSearchModal = (checkSM && i==1) ? 'readonly onclick="addrSearchModal(\'my-input\')"' : ''; 7364 field_name = (i == 0) ? 'postcode' : type + i, 7365 hide_class = (i == 0) ? 'hide' : ''; 7366 7367 str += '\ 7368 <input type="text" id="my-input-'+field_name+'" class="my-cl-update form-control ' + hide_class + '" placeholder="' + $.lang[LANG]['manager.join.cl.item.name.enter'] + '" value="' + v + '" data-type="' + type + '"/ ' + usedAddrSearchModal + '>\ 7369 '; 7370 } else { 7371 str += '\ 7372 <input type="text" id="my-input-'+type+'" class="my-cl-update form-control" placeholder="' + $.lang[LANG]['manager.join.cl.item.name.enter'] + '" value="' + v + '" data-type="' + type + '"/>\ 7373 '; 7374 } 7375 7376 }); 7377 str += '\ 7378 </div>\ 7379 '; 7380 return str; 7381 } 7382 $(this).hide(); 7383 cl.find('.my-cl-cancel,.my-cl-save').show(); 7384 cl.addClass('update-mode'); 7385 cl.children().each(function() { 7386 var type = $(this).attr('data-type'), 7387 value = $(this).find('.my-data').map(function() { return $(this).text().trim(); }).get(), 7388 input_text = clInput(type,value); 7389 7390 if(type != 'id') $(input_text).prependTo($(this).find('.mng-panel-body')); 7391 if(cl.children('.focus').length == 0) $(this).addClass('focus').find('input').focus(); 7392 }); 7393 7394 7395 7396 } 7397 }); 7398 7399 $('.my-cl-cancel').live({ 7400 click: function() { 7401 var cl = $('.mng-settings[data-type="profile"]').find('.cl-wrap'); 7402 7403 cl.find('.mng-error').remove(); 7404 cl.find('.my-cl-cancel,.my-cl-save').hide(); 7405 cl.find('.my-cl-edit').show(); 7406 cl.removeClass('update-mode'); 7407 cl.children().each(function() { 7408 $(this).find('.my-cl-update-wrap').remove(); 7409 }); 7410 } 7411 }); 7412 7413 $('.my-cl-save').live({ 7414 click: function() { 7415 var cl = $('.mng-settings[data-type="profile"]').find('.cl-wrap'), 7416 sid = $('#mypage-modal').attr('data-sid'), 7417 uid = $('#mypage-modal').attr('data-uid'), 7418 cl_data = {}, 7419 check_error = false;
7420 7421 if(cl.find('.has-error').length > 0) cl.find('.has-error').addClass('foucs').find('.my-cl-update').first().focus(); 7422 7423 var recheck_regexp = function(input) { 7424 var field = input.attr('data-type'), 7425 val = input.val(), 7426 reg_has = (typeof COLLECTION_REGEX[field] != 'undefined' && COLLECTION_REGEX[field]) ? true : false, 7427 reg_pattern = (reg_has) ? COLLECTION_REGEX[field]['pattern_j'] : '', 7428 reg = new RegExp(reg_pattern), 7429 reg_ex = (reg_has) ? COLLECTION_REGEX[field]['ex'] : ''; 7430 7431 if(reg_has && !reg.test(val)) { 7432 input.closest('.mng-panel-body').find('.mng-error').text(reg_ex); 7433 } else { 7434 input.closest('.mng-panel').removeClass('has-error').find('.mng-error').remove(); 7435 } 7436 } 7437 7438 $('#mypage-modal .mng-settings[data-type="profile"] .my-cl-update').live({ 7439 focus: function(e) { $(this).closest('.mng-panel').addClass('focus').siblings().removeClass('foucs'); }, 7440 keyup : function(e) { recheck_regexp($(this)); }, 7441 blur : function(e) { $(this).closest('.mng-panel').removeClass('focus'); } 7442 }); 7443 7444 cl.children('.mng-panel:not([data-type="id"])').each(function() { 7445 var field = $(this).attr('data-type'), 7446 optional = $(this).hasClass('optional') ? true : false, 7447 value = $(this).find('.my-cl-update').map(function() { return $(this).val().trim(); }).get(), 7448 this_cl = $(this), 7449 // prev_value = $(this).find('.my-data').map(function() { return $(this).text().trim(); }).get(), 7450 error_str = '', 7451 reg_has = (typeof COLLECTION_REGEX[field] != 'undefined' && COLLECTION_REGEX[field]) ? true : false, 7452 reg_pattern = (reg_has) ? COLLECTION_REGEX[field]['pattern_j'] : '', 7453 reg = new RegExp(reg_pattern), 7454 reg_ex = (reg_has) ? COLLECTION_REGEX[field]['ex'] : ''; 7455 7456 $.each(value, function(i,v) { 7457 7458 if(field == 'addr' && i == 0) return true; 7459 7460 var field_name = (field == 'addr') ? field + i : field, 7461 this_wrap = this_cl.find('.mng-panel-body'); 7462 7463 if(optional && v.length==0 && i==0) error_str = $.lang[LANG]['manager.check.required.message']; 7464 else if(reg_has && !reg.test(v)) { 7465 error_str = (v.length == 0 && !optional) ? '' : COLLECTION_REGEX[field]['error']; 7466 } 7467 7468 if(error_str.length > 0) { 7469 this_cl.addClass('has-error'); 7470 if(this_wrap.find('.mng-error').length > 0) this_wrap.find('.mng-error').text(error_str); 7471 else this_wrap.append('<span class="mng-error">' + error_str + '</span>'); 7472 7473 if(cl.find('.mng-panel.focus').length == 0) this_cl.find('.my-input-'+field_name).focus(); 7474 } else { 7475 this_cl.removeClass('has-error'); 7476 this_wrap.find('.mng-error').remove(); 7477 7478 if(field == 'addr' && i == 1) { 7479 var postcode = $('#my-input-postcode').val(); 7480 v = (typeof postcode != 'undefined' && postcode) ? postcode.trim() + '|| ' + v : ' || ' + v; 7481 } 7482 7483 cl_data[field_name] = v; 7484 } 7485 }); 7486 }).promise().done(function() { 7487 var check_error = (cl.find('.has-error').length == 0) ? true : false; 7488 7489 if(!check_error) { 7490 cl.find('.has-error').first().first('input').focus(); 7491 } else { 7492 $.ajax({ 7493 type: 'POST', 7494 url: '/umember/update/type/member', 7495 data: { sid : sid, val: JSON.stringify(cl_data), uid : uid }, 7496 dataType: 'json', 7497 async: true, 7498 success: function(data) { 7499 // if(typeof data.error != 'undefined' && data.error) { 7500 // alert(data.error); 7501 // return false; 7502 // } 7503 if(typeof data.error != 'undefined' && data.error) { 7504 $.each(data.error, function(key,str) {
7505 if(cl.find('#my-input-'+key).length > 0 ) { 7506 cl.find('#my-input-'+key).focus(); 7507 cl.find('#my-input-'+key).closest('.mng-panel-body').append('<span class="mng-error">' + str + '</span>'); 7508 } else { alert(str); return false; } 7509 }); 7510 if(cl.find('.mng-error').length > 0) return false; 7511 } 7512 cl.find('.mng-error').remove(); 7513 7514 cl.find('.my-cl-cancel,.my-cl-save').hide(); 7515 cl.find('.my-cl-edit').show(); 7516 cl.removeClass('update-mode'); 7517 $.each(cl_data,function(k,v) { 7518 7519 if(k == 'addr1') { 7520 var addr_arr = v.split('||'), 7521 postcode_str = (addr_arr[0]) ? addr_arr[0].trim() : ''; 7522 cl.find('.my-postcode').text(postcode_str); 7523 v = (addr_arr[1]) ? addr_arr[1].trim() : ''; 7524 } 7525 7526 cl.find('.my-'+k).text(v); 7527 7528 if(k == 'nick') { 7529 if($('._admin_dashboard .site-info .site-data .site-username').length > 0) { 7530 $('._admin_dashboard .site-info .site-data .site-username').text(v).attr('data-user-name',v); 7531 } 7532 if($('#mobile-nav').length > 0) $('#mobile-nav .login-nick span').text(v); 7533 } 7534 }); 7535 cl.find('.my-cl-update-wrap').remove(); 7536 } 7537 }); 7538 } 7539 7540 }); 7541 7542 7543 } 7544 }); 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 $('.mng-siteUM-modal .my-image-edit').live({ 7556 click: function() { 7557 var sid = $('#mypage-modal').attr('data-sid'), 7558 uid = $('#mypage-modal').attr('data-uid'), 7559 src = $('.mng-settings[data-type="profile"]').find('.my-image').attr('src'); 7560 7561 $.umember.showMyImageUploadModal(sid, uid, src); 7562 } 7563 }); 7564 7565 7566 $('.mng-siteUM-modal .my-password-save').live({ 7567 click: function() { 7568 var mypageModal = $('#mypage-modal'), 7569 myPasswordWrap = mypageModal.find('.mng-settings[data-type="password-change"]'), 7570 mng_settings_el = $(this).closest('.mng-settings'); 7571 7572 myPasswordWrap.find('input.form-control').each(function() { 7573 var field = $(this).attr('id').trim().replace(/input-/,''), 7574 val = $(this).val(), 7575 errorEL = $(this).next('.mng-error'), 7576 error_str = '', 7577 reg_has = (field != 'new-password-checked') ? true : false, 7578 reg_pattern = (reg_has) ? COLLECTION_REGEX['password']['pattern_j'] : '', 7579 reg = new RegExp(reg_pattern), 7580 reg_error = (reg_has) ? COLLECTION_REGEX['password']['error'] : ''; 7581 7582 if(val.length == 0) error_str = $.lang[LANG]['siteum.regexp.password.input']; 7583 else { 7584 if(reg_has && !reg.test($(this).val()) ) error_str = reg_error; 7585 else if( field == 'new-password-checked' && ($(this).val() != myPasswordWrap.find('#input-new-password').val())) error_str = $.lang[LANG]['siteum.regexp.pw.invalid']; 7586 } 7587 7588 if(error_str.length > 0) { 7589 if(errorEL.length > 0 ) errorEL.addClass('empty').text(error_str); 7590 else $(this).after('<span class="mng-error empty">'+ $.lang[LANG]['siteum.regexp.password.input'] + '</span>'); 7591 7592 if(myPasswordWrap.find('.mng-panel-body.focus').length == 0) $(this).focus(); 7593 else { myPasswordWrap.find('.mng-panel-body.focus input').focus(); } 7594 } else { 7595 errorEL.remove(); 7596 $(this).closest('.mng-panel-body').removeClass('focus'); 7597 } 7598 }); 7599 7600 7601 if(myPasswordWrap.find('.mng-error').length == 0) { 7602 var uid = mypageModal.find('.my-id').text(), 7603 pw = hex_md5(myPasswordWrap.find('#input-password').val()), 7604 new_pw = hex_md5(myPasswordWrap.find('#input-new-password').val()); 7605 7606 $.post('/umember/password/change', { uid : uid, pw : pw, new_pw : new_pw }, function(data) { 7607 if(typeof data.error != 'undefined' && data.error) { 7608 $.each(data.error, function(key,str) { 7609 if(mypageModal.find('#input-'+key).length > 0) { 7610 mypageModal.find('#input-'+key).closest('.mng-panel-body').append('<span class="mng-error">' + str + '</span>'); 7611 mypageModal.find('#input-'+key).focus(); 7612 } else { alert(str,'/manager/member'); return false; } 7613 }); 7614 if(mypageModal.find('.mng-error').length > 0) return false; 7615 } 7616 mypageModal.find('input.form-control').val(''); 7617 mngShowToast('check', $.lang[LANG]['siteum.forgot.pw.success'], mng_settings_el); 7618 7619 }, 'json'); 7620 } 7621 7622 7623 7624 7625 } 7626 }); 7627 7628 $('.mng-siteUM-modal .mng-settings[data-type="password-change"] input.form-control').live({ 7629 focus: function() { 7630 $(this).closest('.mng-panel-body').addClass('focus').siblings().removeClass('focus'); 7631 }, 7632 blur: function() { 7633 $(this).closest('.mng-panel-body').removeClass('focus'); 7634 }, 7635 keyup: function() { 7636 7637 var field = $(this).attr('id').trim().replace(/input-/,''), 7638 groupEl = $(this).closest('.mng-panel-body'), 7639 errorEL = $(this).next('.mng-error'), 7640 reg_pw = (field == 'new-password-checked') ? field : 'password', 7641 reg_has = (typeof COLLECTION_REGEX[reg_pw] != 'undefined' && COLLECTION_REGEX[reg_pw]) ? true : false, 7642 reg_pattern = (reg_has) ? COLLECTION_REGEX[reg_pw]['pattern_j'] : '', 7643 reg_ex = (reg_has) ? COLLECTION_REGEX[reg_pw]['ex'] : ''; 7644 7645 if(field == 'new-password' || field == 'new-password-checked') { 7646 var pwEl = $('.mng-settings[data-type="password-change"]').find('#input-new-password'), 7647 pw2El = $('.mng-settings[data-type="password-change"]').find('#input-new-password-checked'), 7648 error_str = $.lang[LANG]['siteum.regexp.pw.invalid']; 7649 7650 if(pwEl.val() == pw2El.val()) { 7651 pw2El.next('.mng-error').remove(); 7652 } else { 7653 if(pw2El.val().length > 0) { 7654 if(pw2El.next('.mng-error').length > 0) pw2El.next('.mng-error').removeClass('empty').text(error_str); 7655 else pw2El.closest('.mng-panel-body').append('<span class="mng-error">'+ error_str + '</span>'); 7656 } 7657 } 7658 7659 } 7660 7661 if(reg_has && errorEL.length > 0) { 7662 var reg = new RegExp(reg_pattern); 7663 if(reg.test($(this).val())) errorEL.remove(); 7664 else { errorEL.removeClass('empty').text(reg_ex); } 7665 } 7666 7667 } 7668 }); 7669 7670 $('.mng-siteUM-modal .my-account-remove').live({ 7671 click: function() { 7672 var sid = $('#mypage-modal').attr('data-sid'), 7673 uid = $('#mypage-modal').attr('data-uid'); 7674 7675 var content = '\ 7676 <div class="mng-in-flat-modal-wrap">\ 7677 <div class="my-account-remove-info text-left">\ 7678 <strong>' + $.lang[LANG]['manager.mypage.my-remove.txt.1'] + '</strong>\ 7679 <ol>\ 7680 <li>' + $.lang[LANG]['manager.mypage.my-remove.txt.2'] + '</li>\ 7681 <li>' + $.lang[LANG]['manager.mypage.my-remove.txt.3'] + '</li>\ 7682 <li>' + $.lang[LANG]['manager.mypage.my-remove.txt.4'] + '</li>\ 7683 </ol>\ 7684 </div>\ 7685 <div class="my-account-remove-check clearfix">\ 7686 <div class="checkboxs hand">\ 7687 <input type="checkbox" class="my-account-remove-agree" id="my-account-remove-agree">\ 7688 <strong>' + $.lang[LANG]['manager.mypage.my-remove.agree.txt'] + '</strong>\ 7689 </div>\ 7690 </div>\ 7691 </div>\ 7692 '; 7693 7694 $('.my-account-remove-agree').live({ 7695 click: function() { 7696 if($(this).prop('checked')) $(this).closest('.my-account-remove-check').find('.mng-error').remove(); 7697 } 7698 }); 7699 7700 $('.my-account-remove-input-password').live({ 7701 keyup: function() { 7702 if($(this).val().length > 0) $(this).closest('.form-group').find('.mng-error').remove(); 7703 } 7704 }); 7705 7706 var agreeModal = $(this).showModalFlat('DELETE ACCOUNT', content, true, true, function() { 7707 var checked = agreeModal.find('#my-account-remove-agree').prop('checked'), 7708 errorEL = agreeModal.find('.my-account-remove-check').find('.mng-error'), 7709 error_str = (!checked) ? $.lang[LANG]['manager.mypage.my-remove.agree.check'] : ''; 7710 7711 if(!checked) { 7712 if(errorEL.length > 0) errorEL.text(error_str); 7713 else $('.my-account-remove-check').append('<span class="mng-error">' + error_str + '</span>'); 7714 return false;
7715 } 7716 7717 var udata_content = '\ 7718 <div class="mng-in-flat-modal-wrap padding-top-0">\ 7719 <p style="margin-bottom: 15px;">' + $.lang[LANG]['manager.mypage.my-remove.description'] + '</p>\ 7720 <span class="form-group">\ 7721 <input class="form-control" type="password" id="input-password" placeholder="' + $.lang[LANG]['siteum.regexp.password.input'] + '">\ 7722 </span>\ 7723 </div>\ 7724 '; 7725 7726 var removeModal = $(this).showModalFlat('DELETE ACCOUNT', udata_content, true, true, function() { 7727 var pw = removeModal.find('#input-password').val(); 7728 7729 if(pw.length == 0) { 7730 if(removeModal.find('.mng-error').length > 0) removeModal.find('.mng-error').text($.lang[LANG]["siteum.regexp.password.input"]); 7731 else removeModal.find('.form-group').append('<span class="mng-error">' + $.lang[LANG]["siteum.regexp.password.input"] + '</span>'); 7732 7733 removeModal.find('#input-password').focus(); 7734 return false; 7735 } else { 7736 $.processON('Deleting....'); 7737 var remove_data = { 7738 'id' : uid, 7739 'password' : hex_md5(pw), 7740 }; 7741 7742 removeModal.find('.mng-error').remove(); 7743 $.post('/umember/login/remove', { data : JSON.stringify(remove_data) }, function(data) { 7744 if(typeof data.error != 'undefined' && data.error) { 7745 $.processOFF(); 7746 $.each(data.error, function(key,str) { 7747 if(removeModal.find('#input-'+key).length > 0 ) { 7748 removeModal.find('#input-'+key).closest('.form-group').append('<span class="mng-error">' + str + '</span>'); 7749 removeModal.find('#input-'+key).focus(); 7750 } else { alert(str); return false; } 7751 }); 7752 if(removeModal.find('.mng-error').length > 0) return false; 7753 } 7754 7755 removeModal.modal('hide'); 7756 agreeModal.modal('hide'); 7757 $('#mypage-modal').modal('hide'); 7758 $.umember.init(); 7759 setTimeout(function() { 7760 $.processOFF(); 7761 var successModal = $(this).showModalFlat('INFORMATION', $.lang[LANG]['manager.mypage.my-remove.success'], true, false, '', 'ok'); 7762 }, '1000'); 7763 7764 }, 'json'); 7765 } 7766 7767 7768 }, 'cancel', 'manager.mypage.my-remove.last-btn', 'mng-mypage-modal'); /*removeModal:: END*/ 7769 7770 7771 7772 }, 'cancel', '', 'w480 mng-mypage-modal'); /*agreeModal:: END*/ 7773 7774 7775 } 7776 }); 7777 7778 7779 7780 7781 /******************************************************************************************************************************************Mypage Modal END*/ 7782 7783}); 7784 7785// psearch 모ë°ì¼ í ì¢ì° ê·¸ë¼ë°ì´ì ì¶ê° *********************************************************************************************************************** 7786document.addEventListener('DOMContentLoaded', () => { 7787 const wrap = document.querySelector('.dsgn-body .psearch-body .psearch-tabs'); 7788 const nav = wrap && wrap.querySelector('.dsgn-body .psearch-body .psearch-tab-nav, .psearch-tab-nav'); 7789 if (!wrap || !nav) return; 7790 7791 const MOBILE_MQ = window.matchMedia('(max-width: 767px)'); 7792 const isOverflowing = () => nav.scrollWidth > nav.clientWidth + 1; 7793 7794 /* ========================= 7795 1) 모ë°ì¼ ê·¸ë¼ë°ì´ì (íì´ë) 7796 ========================= */ 7797 const updateFade = () => { 7798 const max = nav.scrollWidth - nav.clientWidth; 7799 7800 if (!MOBILE_MQ.matches || max <= 1) { 7801 wrap.classList.remove('has-left', 'has-right'); 7802 return; 7803 } 7804 7805 wrap.classList.toggle('has-left', nav.scrollLeft > 1); 7806 wrap.classList.toggle('has-right', nav.scrollLeft < max - 1); 7807 }; 7808 7809 nav.addEventListener('scroll', updateFade, { passive: true }); 7810 window.addEventListener('resize', updateFade); 7811 MOBILE_MQ.addEventListener?.('change', updateFade); 7812 requestAnimationFrame(() => requestAnimationFrame(updateFade)); 7813 7814 7815 /* ========================= 7816 2) PC(ë§ì°ì¤) ëëê·¸ ì¤í¬ë¡¤ (í´ë¦ ì´ë¦¬ë ë²ì ) 7817 - threshold ì´ì ìì§ìì ëë§ dragë¡ ì í 7818 - ê·¸ëë§ setPointerCapture + preventDefault 7819 ========================= */ 7820 const DRAG_THRESHOLD = 6; 7821 7822 let pointerId = null; 7823 let down = false; 7824 let dragging = false; 7825 let startX = 0; 7826 let startLeft = 0; 7827 let moved = 0; 7828 let suppressClick = false; 7829 7830 nav.addEventListener('pointerdown', (e) => { 7831 if (e.pointerType !== 'mouse') return; 7832 if (!isOverflowing()) return; 7833 if (e.button !== 0) return; 7834 7835 down = true; 7836 dragging = false;
7837 suppressClick = false; 7838 moved = 0; 7839 7840 pointerId = e.pointerId; 7841 startX = e.clientX; 7842 startLeft = nav.scrollLeft; 7843 }); 7844 7845 nav.addEventListener('pointermove', (e) => { 7846 if (!down) return; 7847 if (e.pointerId !== pointerId) return; 7848 7849 const dx = e.clientX - startX; 7850 moved = Math.max(moved, Math.abs(dx)); 7851 7852 // threshold ëì´ê°ë ìê° ëëê·¸ 모ëë¡ ì í 7853 if (!dragging && moved >= DRAG_THRESHOLD) { 7854 dragging = true; 7855 suppressClick = true; 7856 nav.classList.add('is-dragging'); 7857 nav.setPointerCapture?.(pointerId); 7858 } 7859 7860 if (dragging) { 7861 nav.scrollLeft = startLeft - dx; 7862 e.preventDefault(); // ëëê·¸ ì¤ìë§ í ì¤í¸ ì í ë°©ì§ 7863 updateFade(); 7864 } 7865 }); 7866 7867 const endPointer = () => { 7868 if (!down) return; 7869 down = false; 7870 7871 if (dragging) { 7872 nav.classList.remove('is-dragging'); 7873 } 7874 7875 dragging = false; 7876 pointerId = null; 7877 7878 // ëëê·¸ ì§í í´ë¦ 1íë§ ë§ê³ ë¤ì í´ë¦ì ì ì 7879 if (suppressClick) { 7880 setTimeout(() => { suppressClick = false; }, 0); 7881 } 7882 }; 7883 7884 nav.addEventListener('pointerup', endPointer); 7885 nav.addEventListener('pointercancel', endPointer); 7886 window.addEventListener('blur', endPointer); 7887 7888 // ì§ì§ ëëê·¸ìë ê²½ì°ìë§ í´ë¦ ì°¨ë¨ 7889 nav.addEventListener('click', (e) => { 7890 if (suppressClick) { 7891 e.preventDefault(); 7892 e.stopPropagation(); 7893 } 7894 }, true); 7895 7896 7897 /* ========================= 7898 3) ëì ë°°ê²½ì â ê·¸ë¼ë°ì´ì ì ìë ì¶ì¶ 7899 ========================= */ 7900 const applyDynamicBg = () => { 7901 const bg = getComputedStyle(wrap).backgroundColor; 7902 7903 if (bg === 'rgba(0, 0, 0, 0)' || bg === 'transparent') { 7904 let parent = wrap.parentElement; 7905 while (parent) { 7906 const parentBg = getComputedStyle(parent).backgroundColor; 7907 if (parentBg !== 'rgba(0, 0, 0, 0)' && parentBg !== 'transparent') { 7908 wrap.style.setProperty('--tab-bg', parentBg); 7909 return; 7910 } 7911 parent = parent.parentElement; 7912 } 7913 } else { 7914 wrap.style.setProperty('--tab-bg', bg); 7915 } 7916 }; 7917 7918 applyDynamicBg(); 7919 window.addEventListener('resize', applyDynamicBg); 7920}); 7921// psearch 모ë°ì¼ í ì¢ì° ê·¸ë¼ë°ì´ì ì¶ê° end **************************************************************************************************************** 7922 7923/***********************************************************************************************************************************member-config page START*/ 7924var collectionSortable = function(cancel) { 7925 cancel = (cancel) ? cancel : '.collection-item.fix[data-type="email"], .collection-item-used, .collection-item-optional, .collection-name-input, button, .collection-edit, .collection-delete, label, .collection-item-type-select'; 7926 7927 $('#join-collections,#mjoin-collections').sortable({ 7928 items: '.collection-item:not(.fix[data-type="email"])', 7929 handle: '.icon-move', 7930 cancel: cancel, 7931 scroll: true, 7932 placeholder: 'collection-item-placeholder', 7933 update: function(event,ui) { 7934 $.processON(); 7935 7936 var update_data = {}, 7937 new_data = {}, 7938 d_index = 0; 7939 7940 $('#join-collections').children('.collection-item').each(function(i,v){ 7941 var org_idx = $(this).attr('data-idx'), 7942 new_idx = $(this).index(), 7943 item_seq = $(this).attr('data-seq'); 7944 7945 if(org_idx!=new_idx) { 7946 $(this).attr('data-idx',new_idx); 7947 update_data[d_index] = { 7948 seq : item_seq, 7949 idx : new_idx 7950 } 7951 d_index++; 7952 } 7953 }); 7954 7955 $.ajax({ 7956 type: 'POST', 7957 url: '/umember/setJoinCollections/type/jcol_update', 7958 data: { sid: SID, update_data: update_data }, 7959 dataType: 'json', 7960 async: true, 7961 success: function(data) { 7962 if(typeof data.error != 'undefined' && data.error) { 7963 alert(data.error); 7964 return false; 7965 } 7966 7967 var slog_field = {'field_name':$(ui.item).find('.collection-name').text().trim(),'field':$(ui.item).attr('data-type')}; 7968 setSiteLogs('um.config.collection','sort',slog_field,'um.config.collection'); 7969 }, 7970 complete: function () { 7971 $.processOFF(); 7972 } 7973 }); 7974 } 7975 }).disableSelection(); 7976 7977} 7978 7979var collectionItem = function(name,etc) { 7980 var types = ''; 7981 7982 $.each(COLLECTION_TYPES, function(k,v) {
7983 types = types + '<option value="' + k + '" '+((k == 'text') ? 'selected' : '')+'>' + v + '</option>'; 7984 }); 7985 7986 var jcollection_select_type = ['text','memo','radio','check','select','fupload'], 7987 collectionAdd = (!name) ? 'additem' : '', 7988 str = '\ 7989 <div class="collection-item ' + collectionAdd + '" data-type="etc' + etc + '" data-etc="' + etc + '" data-orgjcoltype="text" data-jcoltype="" data-seq="">\ 7990 <div class="collection-info">\ 7991 <span class="icons icon-move cl-sort-handle hand">\ 7992 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><path d="M9 4c0 .83-.67 1.5-1.5 1.5S6 4.83 6 4s.67-1.5 1.5-1.5S9 3.17 9 4m3.5 1.5c.83 0 1.5-.67 1.5-1.5s-.67-1.5-1.5-1.5S11 3.17 11 4s.67 1.5 1.5 1.5m-5 3C6.67 8.5 6 9.17 6 10s.67 1.5 1.5 1.5S9 10.83 9 10s-.67-1.5-1.5-1.5m5 0c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5S14 10.83 14 10s-.67-1.5-1.5-1.5m-5 6c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5S9 16.83 9 16s-.67-1.5-1.5-1.5m5 0c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5S14 16.83 14 16s-.67-1.5-1.5-1.5"/></svg>\ 7993 </span>\ 7994 <span class="collection-name">' + name + '</span>\ 7995 </div>\ 7996 <input type="text" id="collection-name-text" name="name" class="setting-input collection-name-input hide jcol-text" value="'+ name +'" placeholder="'+$.lang[LANG]['manager.config.jcollection.item.placeholder.collection-name-input']+'">\ 7997 <div class="collection-config">\ 7998 <div class="icons hand">\ 7999 <svg class="collection-edit memberconfig-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g data-name="그룹_6421"><g data-name="그룹_6429"><path d="M13.57 3.22 8.27 10l-.46 2.17c-.03.16 0 .33.09.47.13.2.36.31.6.28.07 0 .13-.03.2-.06l1.95-.93 5.27-6.72.08-.1zm-4.16 7.35 4.37-5.59.46.36-4.37 5.59-.58.28.13-.63Zm3.6.95h1.25v3.12c0 1.17-.95 2.12-2.12 2.12h-6c-1.17 0-2.12-.95-2.12-2.12v-7c0-1.17.95-2.13 2.12-2.13h3.12v1.25H6.14c-.48 0-.87.39-.88.88v7c0 .48.39.87.88.88h6c.48 0 .87-.39.88-.87v-3.13Z"/></g></g></svg>\ 8000 </div>\ 8001 <div class="icons hand">\ 8002 <svg class="collection-delete memberconfig-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g data-name="그룹_6416"><g data-name="그룹_6428"><path d="M13.12 5.88v-2H6.89v2H3.87v1.25h1v6.88c0 1.17.95 2.12 2.12 2.12h6c1.17 0 2.12-.95 2.12-2.12V7.13h1V5.88h-3Zm-1.24 0H8.15v-.75h3.73zm1.12 9H7c-.48 0-.87-.39-.88-.88V7.12h7.75V14c0 .48-.39.87-.88.88m-2.11-7h1.25v6.25h-1.25zm-3 0h1.25v6.25H7.88z"/></g></g></svg>\ 8003 </div>\ 8004 <div class="use-option-check">\ 8005 <div class="checkboxs hand newcheckbox">\ 8006 <label>\ 8007 <div class="newcheckboxSvg">\ 8008 <input type="checkbox" class="collection-item-used" id="collection-item-used-additem"/>\ 8009 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="m4.4 5.6 2.21 2.21A9.03 9.03 0 0 0 3.52 12c1.27 3.59 4.67 6 8.48 6 1.35 0 2.69-.31 3.9-.9l2.5 2.5 1.2-1.2-14-14zM12 16c-2.21 0-4-1.79-4-4 0-.76.24-1.51.66-2.14l1.09 1.09c-.16.33-.24.69-.25 1.05a2.5 2.5 0 0 0 2.5 2.5c.36 0 .72-.09 1.05-.25l1.09 1.09c-.63.42-1.38.65-2.14.66m2.43-4.57-1.86-1.86c.92.22 1.64.94 1.86 1.86m6.05.57a9.05 9.05 0 0 1-2.12 3.36l-2.47-2.46a3.965 3.965 0 0 0-4.78-4.78L9.39 6.4c4.6-1.41 9.49 1.07 11.09 5.61"/></svg>\ 8010 <svg class="active" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M12 6c-3.81 0-7.21 2.41-8.48 6 1.65 4.68 6.78 7.14 11.46 5.49A8.95 8.95 0 0 0 20.47 12c-1.27-3.59-4.67-6-8.48-6M12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4m2.5-4a2.5 2.5 0 0 1-5 0 2.5 2.5 0 0 1 5 0"/></svg>\ 8011 <!--<label for="collection-item-used-additem"></label>-->\ 8012 </div>\ 8013 </label>\ 8014 </div>\ 8015 <div class="checkboxs hand newcheckbox">\ 8016 <label>\ 8017 <div class="newcheckboxSvg">\ 8018 <input type="checkbox" class="collection-item-optional" id="collection-item-optional-additem"/>\ 8019 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g data-name="그룹_6435"><path class="collection-optional-bg" d="M5 2h10c1.66 0 3 1.34 3 3v10c0 1.66-1.34 3-3 3H5c-1.66 0-3-1.34-3-3V5c0-1.66 1.34-3 3-3" data-name="í¨ì¤_4513"/><path class="collection-optional-line" d="M15 3.25c.97 0 1.75.78 1.75 1.75v10c0 .97-.78 1.75-1.75 1.75H5c-.97 0-1.75-.78-1.75-1.75V5c0-.97.78-1.75 1.75-1.75zM15 2H5C3.34 2 2 3.34 2 5v10c0 1.66 1.34 3 3 3h10c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3"/></g></svg>\ 8020 <svg class="active" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><path d="M15 2H5C3.34 2 2 3.34 2 5v10c0 1.66 1.34 3 3 3h10c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3m.03 6.03-5.5 5.5c-.29.29-.77.29-1.06 0l-3.5-3.5a.754.754 0 0 1 0-1.06c.29-.29.77-.29 1.06 0L9 11.94l4.97-4.97c.3-.29.77-.28 1.06.02.28.29.28.75 0 1.04"/></svg>\ 8021 <!--<label for="collection-item-optional-additem"></label>-->\ 8022 </div>\ 8023 </label>\ 8024 </div>\ 8025 </div>\ 8026 </div>\ 8027 <div class="clear"></div>\ 8028 <div class="collection-item-content" style="display:none;">\ 8029 <div class="collection-item-content-wrap">\ 8030 <div class="collection-type-selectbox common-selectbox">\ 8031 <select name="jcollection-select-type" class="setting-small-input selectpicker dropdown jcollection-select">\ 8032 '; 8033 $.each(jcollection_select_type, function(i,v){ 8034 var selected = (v=='text') ? 'selected' : ''; 8035 str += '<option class="jcollection-type-opt" value="'+v+'" '+selected+'>'+$.lang[LANG]['manager.config.siteUM.jcollections.'+v]+'</option>'; 8036 }); 8037 8038 str += '\ 8039 </select>\ 8040 <svg viewBox="0 0 8 4" width="8" height="4"><polygon points="0 0 4 4 8 0 "></polygon></svg>\ 8041 </div> \ 8042 <span class="collection-type-info hand">\ 8043 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
8043<path d="M5.5 12c0-3.6 2.9-6.5 6.5-6.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5-6.5-2.9-6.5-6.5Zm1 0c0 3 2.5 5.5 5.5 5.5s5.5-2.5 5.5-5.5S15 6.5 12 6.5 6.5 9 6.5 12Zm5 3.5v-1h1v1h-1Zm0-2c0-.7.3-1.3.9-1.7.4-.3.7-.8.8-1.3 0-.5-.4-.9-.9-1h-.1c-.6 0-1 .1-1.1.8v.2h-1v-.2c0-1.1 1-1.9 2-1.8h.1c1 0 2 .7 2 1.8v.1c0 .7-.4 1.4-1 1.9-.6.6-.7.9-.7 1.2h-1Z"/></svg>\ 8044 </span>\ 8045 </div>\ 8046 <div class="description-wrap hide">\ 8047 <div class="description-input hide">\ 8048 <div class="cl-common-form-wrap nonplace-holder">\ 8049 <div class="cl-common-form-group">\ 8050 <input type="text" id="collection-description-text" name="description" class="setting-input description-text jcol-text" value="" placeholder="'+$.lang[LANG]['manager.config.siteUM.jcollections.description.placeholder']+'">\ 8051 </div>\ 8052 </div>\ 8053 </div>\ 8054 <div class="newcheckbox hand">\ 8055 <label>\ 8056 <div class="newcheckboxSvg">\ 8057 <input type="checkbox" class="" id="collection-description" name="description" value="">\ 8058 <svg viewBox="0 0 16 16" width="16" height="16">\ 8059 <path class="st6" d="M3 0h10c1.66 0 3 1.34 3 3v10c0 1.66-1.34 3-3 3H3c-1.66 0-3-1.34-3-3V3C0 1.34 1.34 0 3 0z"></path>\ 8060 <path class="st19" d="M13 1c1.1 0 2 0.9 2 2v10c0 1.1-0.9 2-2 2H3c-1.1 0-2-0.9-2-2V3c0-1.1 0.9-2 2-2H13M13 0H3C1.34 0 0 1.34 0 3v10c0 1.66 1.34 3 3 3h10c1.66 0 3-1.34 3-3V3C16 1.34 14.66 0 13 0L13 0z"></path>\ 8061 </svg>\ 8062 <svg class="active" viewBox="0 0 16 16" width="16" height="16">\ 8063 <rect x="2" y="2" class="st6" width="12" height="12"></rect>\ 8064 <path class="st19" d="M13 0H3C1.34 0 0 1.34 0 3v10c0 1.66 1.34 3 3 3h10c1.66 0 3-1.34 3-3V3C16 1.34 14.66 0 13 0zM13.03 6.03l-5.5 5.5C7.38 11.68 7.19 11.75 7 11.75s-0.38-0.07-0.53-0.22l-3.5-3.5c-0.29-0.29-0.29-0.77 0-1.06s0.77-0.29 1.06 0L7 9.94l4.97-4.97c0.29-0.29 0.77-0.29 1.06 0S13.32 5.74 13.03 6.03z"></path>\ 8065 </svg>\ 8066 </div>\ 8067 '+$.lang[LANG]['manager.config.siteUM.jcollections.description.text']+'\ 8068 </label>\ 8069 </div>\ 8070 </div>\ 8071 <div class="jcol-btn-wrap">\ 8072 <div class="jcol-btn-cancel jcol-btn hand">\ 8073 '+$.lang[LANG]['manager.config.jcollection.item.btn.cancel']+'\ 8074 </div>\ 8075 <div class="jcol-btn-save jcol-btn hand">\ 8076 '+$.lang[LANG]['manager.config.jcollection.item.btn.save']+'\ 8077 </div>\ 8078 </div>\ 8079 </div>\ 8080 </div>\ 8081 '; 8082 return str; 8083} 8084 8085var addCollectionInput = function(cl_name) { 8086 var cl_name = (typeof cl_name == 'undefined' || !cl_name) ? '' : cl_name, 8087 str = '\ 8088 <div class="collection-update">\ 8089 <div class="input-group">\ 8090 <input type="text" class="collection-update-name form-control" placeholder="' + $.lang[LANG]['manager.join.cl.item.name.enter'] + '" value="' + cl_name + '"/>\ 8091 <span class="input-group-btn">\ 8092 <button class="collection-update-save btn btn-active">\ 8093 <svg viewBox="0 0 15 10" width="15" height="10"><path d="M14.29 0L5.5 8.79 0.71 4 0 4.71l5.15 5.15C5.24 9.95 5.37 10 5.5 10s0.26-0.05 0.35-0.15L15 0.71 14.29 0z"/></svg>\ 8094 </button>\ 8095 </span>\ 8096 <div class="collection-update-cancel"><svg viewBox="0 0 12 12" width="12" height="12"><polygon points="12 0.71 11.29 0 6 5.29 0.71 0 0 0.71 5.29 6 0 11.29 0.71 12 6 6.71 11.29 12 12 11.29 6.71 6"/></svg></div>\ 8097 </div>\ 8098 </div>\ 8099 '; 8100 return str; 8101} 8102 8103//keyup birth 8104var auto_date_format = function( e, oThis ){ 8105 var num_arr = [ 8106 97, 98, 99, 100, 101, 102, 103, 104, 105, 96, 8107 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 8108 ] 8109 8110 var key_code = ( e.which ) ? e.which : e.keyCode; 8111 8112 if((num_arr.indexOf( Number( key_code ) ) != -1) || (key_code != 229) || (key_code != 0)){ 8113 var len = oThis.value.length; 8114 if( len == 4 && (key_code != 8)) oThis.value += '-'; 8115 if( len == 7 && (key_code != 8)) oThis.value += '-'; 8116 } 8117} 8118 8119var myinfoChangeBtn = function(e) { 8120 var sid = (typeof $(e).attr('data-sid')!='undefined') ? $(e).attr('data-sid') : property['SID']; 8121 if(property.UMEMBER.check_sns) { 8122 $(location).attr('href','/_myinfo'); 8123 return false; 8124 } 8125 8126 var str = '\ 8127 <div>\ 8128 <div class="cl-s-form-wrap">\ 8129 <div class="cl-s-form-group">\ 8130 <input type="password" class="cl-s-form-control" id="check-password" required="required">\ 8131 <label for="input" class="cl-s-control-label">'+ $.lang[LANG]['manager.mypage.personal.info.pw.input'] +'</label>\ 8132 </div>\ 8133 </div>\ 8134 </div>\ 8135 '; 8136 8137 $('.flat-modal .modal').modal('hide'); 8138 var checkMyinfoPwMdoal = $(e).showModalFlat($.lang[LANG]['manager.mypage.personal.info.pw.title'],str,true,true,function () { 8139 8140 var pw_val = $('#check-password').val().trim(); 8141 if(!pw_val) { 8142 $('#check-password').closest('.cl-s-form-wrap').addClass('empty'); 8143 $('#check-password').focus(); 8144 return false;
8145 } else if(checkEmojis(pw_val)) { 8146 $('#check-password').focus(); 8147 return false; 8148 } 8149 8150 $.post('/_check_mypw', { sid:sid, pw:hex_md5(pw_val) }, function(data) { 8151 if(typeof data.error != 'undefined' && data.error) { 8152 $('#check-password').closest('.cl-s-form-wrap').removeClass('empty').addClass('error'); 8153 if($('#check-password').closest('.cl-s-form-wrap').find('.cl-s-control-label.error').length > 0) { 8154 $('#check-password').closest('.cl-s-form-wrap').find('.cl-s-control-label.error').html(data.error); 8155 } else { 8156 $('#check-password').after('<label for="input" class="cl-s-control-label error">' + data.error + '</label>'); 8157 } 8158 $('#check-password').val('').focus(); 8159 return false; 8160 } else { 8161 checkMyinfoPwMdoal.modal('hide'); 8162 $(location).attr('href','/_myinfo'); 8163 } 8164 },'json'); 8165 8166 },'ë«ê¸°',$.lang[LANG]['manager.mypage.personal.info.pw.btn'],'cl-s-product-pw cl-modal cl-s-btn w620',false,'', function() { 8167 8168 $('.cl-s-product-pw .cl-s-form-group').on('click',function(e) { 8169 if($(e.target).hasClass('cl-s-form-group')) { 8170 $(e.target).find('.cl-s-form-control:not([type=hidden])').focus(); 8171 } 8172 }); 8173 8174 $('.cl-s-product-pw .cl-s-form-control').on({ 8175 keyup: function(e) { 8176 if($(this).val().trim().length == 0) { 8177 $(this).closest('.cl-s-form-wrap').removeClass('error'); 8178 $(this).closest('.cl-s-form-wrap').find('.cl-s-control-label.error').remove(); 8179 } 8180 }, 8181 focus: function(e) { 8182 $(this).closest('.cl-s-form-wrap').addClass('active'); 8183 }, 8184 blur: function(e) { 8185 $(this).closest('.cl-s-form-wrap').removeClass('active'); 8186 8187 var val = $(this).val().trim(); 8188 if(val.length == 0) { 8189 $(this).closest('.cl-s-form-wrap').removeClass('error').addClass('empty'); 8190 $(this).closest('.cl-s-form-wrap').find('.cl-s-control-label.error').remove(); 8191 return false; 8192 } else if(checkEmojis(val)) { 8193 $('#check-password').closest('.cl-s-form-wrap').removeClass('empty').addClass('error'); 8194 if($('#check-password').closest('.cl-s-form-wrap').find('.cl-s-control-label.error').length > 0) { 8195 $('#check-password').closest('.cl-s-form-wrap').find('.cl-s-control-label.error').html($.lang[LANG]['config.unable.emoji']); 8196 } else { 8197 $('#check-password').after('<label for="input" class="cl-s-control-label error">' + $.lang[LANG]['config.unable.emoji'] + '</label>'); 8198 } 8199 $('#check-password').val('').focus(); 8200 return false; 8201 } 8202 8203 $(this).closest('.cl-s-form-wrap').removeClass('error').removeClass('empty'); 8204 $(this).closest('.cl-s-form-wrap').find('.cl-s-control-label.error').remove(); 8205 } 8206 }); 8207 8208 }); 8209} 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232/* 8233var smsRechargeModal = function(sid) { 8234 var recharge_plan = { 8235 'plan-5000': { name : '5,000ì', content: '250ê±´', price: '20ì'}, 8236 'plan-10000': { name : '10,000ì', content: '500ê±´', price: '20ì'}, 8237 'plan-20000': { name : '20,000ì', content: '1100ê±´<span class="additional">(ë³´ëì¤ 100ê±´ í¬í¨)</span>', price: '18.2ì'}, 8238 'plan-30000': { name : '30,000ì', content: '1800ê±´<span class="additional">(ë³´ëì¤ 300ê±´ í¬í¨)</span>', price: '16.7ì'}, 8239 'plan-50000': { name : '50,000ì', content: '3100ê±´<span class="additional">(ë³´ëì¤ 600ê±´ í¬í¨)</span>', price: '16.1ì'}, 8240 } 8241 var modal_content = '\ 8242 <div class="mng-modal-body recharge-modal">\ 8243 <div class="row">\ 8244 <div class="recharge-head clearfix">\ 8245 <div class="col-xs-4 col-sm-4 col-md-4 plan">ê¸ì¡ë³(VATë³ë)</div>\ 8246 <div class="col-xs-4 col-sm-4 col-md-6 content">ì¶©ì SMS ê±´ì</div>\ 8247 <div class="col-xs-4 col-sm-4 col-md-2 price">ë¨ê°</div>\ 8248 </div>\ 8249 '; 8250 $.each(recharge_plan, function(i,v) { 8251 modal_content = modal_content + '\ 8252 <div class="recharge-item clearfix">\ 8253 <div class="col-xs-4 col-sm-4 col-md-4 plan">\ 8254 <div class="radio-inline">\ 8255 <input type="radio" id="recharge-'+ i + '" name="recharge-plan" value="'+ i +'">\ 8256 <label for="recharge-' + i + '">' + v['name'] + '</label>\ 8257 </div>\ 8258 </div>\ 8259 <div class="col-xs-4 col-sm-4 col-md-6 content">' + v['content'] + '</div>\ 8260 <div class="col-xs-4 col-sm-4 col-md-2 price">' + v['price'] + '</div>\ 8261 </div>\ 8262 '; 8263 }); 8264 modal_content = modal_content + '\ 8265 <div class="recharge-payment clearfix">\ 8266 <div class="col-xs-4 col-sm-4 col-md-3">ê²°ì ë°©ë²</div>\ 8267 <div class="col-xs-4 col-sm-4 col-md-9">\ 8268 <div class="radio-group">\ 8269 <div class="radio-inline">\ 8270 <input type="radio" class="payment-method-radio" id="payment-method-card" name="payment-method-radio" value="card">\ 8271 <label for="payment-method-card">ì ì©ì¹´ë</label>\ 8272 </div>\ 8273 <div class="radio-inline">\ 8274 <input type="radio" class="payment-method-radio" id="payment-method-vbank" name="payment-method-radio" value="vbank">\ 8275 <label for="payment-method-vbank">ê°ìê³ì¢</label>\ 8276 </div>\ 8277 </div>\ 8278 </div>\ 8279 </div>\ 8280 </div>\ 8281 </div>\ 8282 '; 8283 8284 var recharge_modal = $(this).showModalFlat('문ìë©ìì§(SMS) ì¶©ì ', modal_content, true, true, function() { 8285 8286 //문ìë©ìì§(SMS) ì¶©ì ê¸°ë¥ ìì . 8287 8288 8289 recharge_modal.modal('hide'); 8290 }, 'cancel', 'ì¶©ì í기', 'w480'); 8291 8292} 8293/*sms*/ 8294 8295var setJcolError = function(col_item, error_selector, error_text) { 8296 var error_str = '\ 8297 <div class="error_wrap '+error_selector+'-error">\ 8298 <span class="error_svg">\ 8299 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13">
8299<path d="M6.5 0C2.9 0 0 2.9 0 6.5S2.9 13 6.5 13 13 10.1 13 6.5 10.1 0 6.5 0Zm0 12C3.5 12 1 9.5 1 6.5S3.5 1 6.5 1 12 3.5 12 6.5 9.5 12 6.5 12ZM6 3h1v5H6V3Zm0 6h1v1H6V9Z"/></svg>\ 8300 </span>\ 8301 <span class="error_str">\ 8302 '+$.lang[LANG]['manager.config.jcollection.item.error.'+error_text]+'\ 8303 </span>\ 8304 </div>'; 8305 8306 col_item.find('.'+error_selector+'.empty').removeClass('jcol_error').addClass('jcol_error'); 8307 8308 return error_str; 8309 8310} 8311 8312var getJcollectionItemOptionVal = function(t) { 8313 var opt_str = ''; 8314 $.each(t.find('.jcollection-item-option'), function(i,v) { 8315 var opt_name = $(this).find('.jcol-option-name').val().trim(), 8316 split_str = (i==(t.find('.jcollection-item-option').length-1)) ? '' : '`', 8317 error_str = ''; 8318 8319 // if(!opt_name) { 8320 // $(this).find('.jcol-option-name').removeClass('empty').addClass('empty'); 8321 8322 // error_str = setJcolError(t, 'jcol-option-name', 'opt_name'); 8323 // $(this).find('.error_wrap.jcol-option-name-error').remove(); 8324 // $(this).find('.jcol-option-name').after(error_str); 8325 8326 // return false; 8327 // } else { 8328 // $(this).find('.jcol-option-name').removeClass('empty').removeClass('jcol_error'); 8329 // $(this).find('.error_wrap.jcol-option-name-error').remove(); 8330 // } 8331 8332 // t.removeClass('empty'); 8333 opt_str += opt_name + split_str; 8334 }); 8335 8336 return opt_str; 8337}; 8338 8339var setJoinCollectionData = function(t, sid){ 8340 /* 8341 sid : sid 8342 mb_id : mb_id 8343 collection_type : email/addr/...etc1... 8344 used : true / false 8345 require : optional 8346 name : name 8347 type : type (text(ë¨ë¬¸í), memo(ì¥ë¬¸í), radio(ë¨ì¼ì íí), check(ë¤ì¤ì íí), select(목ë¡ì íí)) 8348 idx : idx 8349 val : val 8350 regdate : regdate 8351 */ 8352 8353 var data = {}; 8354 8355 t.each(function(i,v) { 8356 var collection_type = (typeof $(this).attr('data-collectiontype')!='undefined') ? $(this).attr('data-collectiontype') : 'etc1', 8357 seq = (typeof $(this).attr('data-seq') != 'undefined') ? $(this).attr('data-seq') : '', 8358 used = (typeof $(this).attr('data-used') != 'undefined') ? $(this).attr('data-used') : 'false', 8359 require = (typeof $(this).attr('data-require')!='undefined') ? $(this).attr('data-require') : 'false', 8360 name = (typeof $(this).attr('data-name')!='undefined') ? (!$(this).attr('data-name') ? $(this).find('.jcollection_item_input').val() : $(this).attr('data-name')) : '', 8361 type = (typeof $(this).attr('data-type')!='undefined') ? $(this).attr('data-type') : 'text', 8362 idx = (typeof $(this).attr('data-idx')!='undefined') ? $(this).attr('data-idx') : '0', 8363 val = ''; 8364 8365 val = getJcollectionItemOptionVal($(this)); 8366 8367 used = (used===false) ? 'false' : 'true'; 8368 require = (require===false) ? 'false' : 'true'; 8369 8370 data[collection_type] = { 8371 sid : sid, 8372 seq : seq, 8373 collection_type : collection_type, 8374 used : used, 8375 require : require, 8376 name : name, 8377 type : type, 8378 idx : idx, 8379 val : val 8380 } 8381 }); 8382 console.log(data); 8383 8384 return data; 8385} 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401/*************************************************************************************************************************************member-config page END*/ 8402 8403 8404 8405 8406/*************************************************************************************************************************************member-list page START*/ 8407 8408var getMemberListCheckData = function(el) { 8409 var select_count = el.closest('.mng-list').find('tr.active td.no input[type="checkbox"]:checked').length - 1, 8410 select_ids = el.closest('.mng-list').find('tr.active').map(function() { return $(this).find('td.id').text().trim(); }).get(), 8411 select_name = '', 8412 select_names = ''; 8413 8414 if(select_count < 0) return { error: $.lang[LANG]['manager.list.member.selected.empty'] }; 8415 el.closest('.mng-list').find('tr.active').map(function(i) { 8416 if(i==0) select_name = $(this).find('td.id').text().trim(); 8417 else select_names = select_names + ((select_names.length > 0) ? ', ' : '') + $(this).find('td.id').text().trim(); 8418 }); 8419 8420 var result = { 8421 count : select_count, 8422 ids : select_ids, 8423 name : select_name, 8424 names : select_names 8425 }; 8426 8427 return result; 8428} 8429 8430// var dissmissCert = function(el, uid) { 8431// var id = $(el).attr('id'); 8432// var dismiss = ''; 8433// if(id == 'member-cert_date-button') { 8434// dismiss = 'cert'; 8435// } else if (id == 'member-cert_adult_date-button') { 8436// dismiss = 'adult'; 8437// } 8438 8439// $.ajax({ 8440// type: 'POST', 8441// url: '/umember/update/type/dismiss_cert', 8442// data: { sid : SID, uid : uid, dismiss : dismiss }, 8443// dataType: 'json', 8444// async: true, 8445// success: function(data) { 8446// if(data.affected_rows > 0) { 8447// var modalTitle = ''; 8448// if(data.um_cert == 'N') { 8449// modalTitle = '본ì¸ì¸ì¦ì´ í´ì ëììµëë¤.'; 8450// $('.member-cert_date-wrap').html(''); 8451// } else if (data.um_cert_adult == 'N') { 8452// modalTitle = 'ì±ì¸ì¸ì¦ì´ í´ì ëììµëë¤.'; 8453// $('.member-cert_adult_date-wrap').html(''); 8454// } 8455// $(this).showModalFlat(modalTitle, 'í´ë¹ ê³ì ì ì¸ì¦ì´ í´ì ëì´ ì¸ì¦ ì´ì ìíë¡ ë³µêµ¬ëììµëë¤.', true, false, function() { 8456// location.reload(); 8457// }, 'ok', 'cl-cmmodal cl-s-btn w560 cl-p130 cl-t80 cl-modal cl-close-btn'); 8458// } else { 8459// alert('error'); 8460// } 8461// } 8462// }); 8463// } 8464/*************************************************************************************************************************************member-list page END*/ 8465 8466var mngShowToast = function(icon,message,el,time) { 8467 console.log('mngShowToast') 8468 if($('.mng-toast-wrap').length > 0 ) $('.mng-toast-wrap.remove').remove();
8469 if(typeof time == 'undefined') time = 800; 8470 var icon = "fa fa-"+icon, 8471 toast = '\ 8472 <div class="mng-toast-wrap">\ 8473 <div class="mng-toast">\ 8474 <span class="mng-toast-icon"><i class="' + icon + '"></i></span>\ 8475 <span class="mng-toast-message">' + message + ' </span>\ 8476 </div>\ 8477 </div>\ 8478 '; 8479 8480 el.find('.mng-title, .mng-wrap').addClass('mng-toast-showing').animate({ 8481 'opacity': 0.3, 8482 'pointer-events': 'none' 8483 }, { 8484 duration: '.5s', 8485 easing: 'easeInOutCubic' 8486 },50).delay(time).fadeIn(100, function() { 8487 $(this).animate({ 8488 'opacity': 1, 8489 'pointer-events': 'auto' 8490 }, { 8491 duration: '.5s', 8492 easing: 'easeInOutCubic' 8493 }, 100).removeClass('mng-toast-showing'); 8494 }); 8495 8496 $(toast).appendTo(el).css({ 8497 'opacity': 0, 8498 'margin-top': '-10px' 8499 }).animate({ 8500 'opacity': 1, 8501 'margin-top': '0px' 8502 }, { 8503 duration: '.7s', 8504 easing: 'easeInOutCubic' 8505 },50).delay(time).fadeOut(100, function() { $(this).addClass('remove'); }); 8506 8507} 8508 8509var howToApplyCert = function() { 8510 var mobile = (window.innerWidth<768) ? 'm.' : '', 8511 str = '\ 8512 <div class="guide-top lang-'+LANG+'">\ 8513 <h3 class="modal-title guidetitle">'+$.lang[LANG]['manager.cert.guide.title']+'</h3>\ 8514 <div class="guide-menu">\ 8515 <ul>'; 8516 for (var i=0;i<3;i++) { 8517 var menuactive = (i==0) ? 'active' : ''; 8518 str = str + '<li class="hand '+menuactive+'">'; 8519 if(i==2) str = str + '<div class="line left"></div>'; 8520 else if(i==1) { 8521 str = str +'\ 8522 <div class="line left"></div>\ 8523 <div class="line right"></div>\ 8524 '; 8525 } 8526 str = str + '<p>'+$.lang[LANG]['manager.cert.guide.step.'+mobile+i]+'</p>'; 8527 if(i==0) str = str + '<div class="line right"></div>'; 8528 str = str + '</li>'; 8529 }; 8530 str += '\ 8531 </ul>\ 8532 </div>\ 8533 </div>\ 8534 <div class="guide-wrap">\ 8535 <div class="step">\ 8536 <div id="step1">\ 8537 <h3>'+$.lang[LANG]['manager.cert.guide.step.1.title']+'</h3>\ 8538 <h4 class="text-left">'+$.lang[LANG]['manager.cert.guide.step.1.sub.title.1']+'</h4>\ 8539 <p>'+$.lang[LANG]['manager.cert.guide.step.1.sub.1']+'</p>\ 8540 <h4 class="text-left">'+$.lang[LANG]['manager.cert.guide.step.1.sub.title.2']+'</h4>\ 8541 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_01_'+LANG+'.jpg">\ 8542 '; 8543 if(LANG == 'ko') { 8544 str += '\ 8545 <h4 class="text-left">'+$.lang[LANG]['manager.cert.guide.step.1.sub.title.3']+'</h4>\ 8546 <p>'+$.lang[LANG]['manager.cert.guide.step.1.sub.3']+'</p>\ 8547 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_02_'+LANG+'.jpg">\ 8548 '; 8549 } 8550 str += '\ 8551 </div>\ 8552 <hr class="line">\ 8553 <div id="step2">\ 8554 <h3>'+$.lang[LANG]['manager.cert.guide.step.2.title']+'</h3>\ 8555 <div class="step2-step text-left"><span>STEP 01.</span>'+$.lang[LANG]['manager.cert.guide.step.2.txt.1']+'</div>\ 8556 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_03_'+LANG+'.jpg">\ 8557 <div class="step2-step text-left"><span>STEP 02.</span>'+$.lang[LANG]['manager.cert.guide.step.2.txt.2']+'</div>\ 8558 <div class="step2-step text-left"><span>STEP 03.</span>'+$.lang[LANG]['manager.cert.guide.step.2.txt.3']+'</div>\ 8559 '; 8560 if(LANG == 'ko') { 8561 str += '\ 8562 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_04_'+LANG+'.jpg">'; 8563 } else { 8564 str += '\ 8565 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_05_'+LANG+'.jpg">\ 8566 '; 8567 } 8568 str += '\ 8569 <div class="step2-step text-left">\ 8570 <span>STEP 04.</span>'+$.lang[LANG]['manager.cert.guide.step.2.txt.4']+'\ 8571 '; 8572 if(LANG != 'ko') { 8573 str += '<p>'+$.lang[LANG]['manager.cert.guide.step.1.sub.3']+'</p>\ 8574 '; 8575 } 8576 str += '\ 8577 </div>'; 8578 if(LANG == 'ko') { 8579 str += '\ 8580 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_05_'+LANG+'.jpg">'; 8581 } 8582 str += '\ 8583 <div class="step2-step text-left"><span>STEP 05.</span>'+$.lang[LANG]['manager.cert.guide.step.2.txt.5']+'</div>\ 8584 <div class="step2-step text-left">\ 8585 <span>STEP 06.</span>'+$.lang[LANG]['manager.cert.guide.step.2.txt.6']+'\ 8586 <p>'+$.lang[LANG]['manager.cert.guide.step.2.txt.6.sub']+'</p>\ 8587 </div>\ 8588 <div class="step2-step text-left"><span>STEP 07.</span>'+$.lang[LANG]['manager.cert.guide.step.2.txt.7']+'</div>\ 8589 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_06_'+LANG+'.jpg">\ 8590 <div class="step2-step text-left"><span>STEP 08.</span>'+$.lang[LANG]['manager.cert.guide.step.2.txt.8']+'</div>\ 8591 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_07_'+LANG+'.jpg">\ 8592 </div>\ 8593 <hr class="line">\ 8594 <div id="step3">\ 8595 <h3>'+$.lang[LANG]['manager.cert.guide.step.3.title']+'</h3>\ 8596 <h4 class="text-left">'+$.lang[LANG]['manager.cert.guide.step.3.sub.title.1']+'</h4>\ 8597 <p>'+$.lang[LANG]['manager.cert.guide.step.3.txt.1-1']+'</p>\ 8598 <div class="step3-step text-left"><span>STEP 01.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.1-2']+'</div>\ 8599 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_08_'+LANG+'.jpg">\ 8600 <div class="step3-step text-left"><span>STEP 02.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.1-3']+'</div>\ 8601 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_09_'+LANG+'.jpg">\ 8602 <div class="step3-step text-left"><span>
8602STEP 03.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.1-4']+'</div>\ 8603 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_10_'+LANG+'.jpg">\ 8604 <div class="step3-step text-left"><span>STEP 04.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.1-5']+'</div>\ 8605 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_11_'+LANG+'.jpg">\ 8606 \ 8607 <h4 class="text-left">'+$.lang[LANG]['manager.cert.guide.step.3.sub.title.2']+'</h4>\ 8608 <p>'+$.lang[LANG]['manager.cert.guide.step.3.txt.2-1']+'</p>\ 8609 <div class="step3-step text-left"><span>STEP 01.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.2-2']+'</div>\ 8610 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_12_'+LANG+'.jpg">\ 8611 <div class="step3-step text-left"><span>STEP 02.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.2-3']+'</div>\ 8612 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_13_'+LANG+'.jpg">\ 8613 <div class="step3-step text-left"><span>STEP 03.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.2-4']+'</div>\ 8614 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_14_'+LANG+'.jpg">\ 8615 <div class="step3-step text-left"><span>STEP 04.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.2-5']+'</div>\ 8616 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_15_'+LANG+'.jpg">\ 8617 \ 8618 <h4 class="text-left">'+$.lang[LANG]['manager.cert.guide.step.3.sub.title.3']+'</h4>\ 8619 <p>'+$.lang[LANG]['manager.cert.guide.step.3.txt.3-1']+'</p>\ 8620 <div class="step3-step text-left"><span>STEP 01.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.3-2']+'</div>\ 8621 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_16_'+LANG+'.jpg">\ 8622 <div class="step3-step text-left"><span>STEP 02.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.3-3']+'</div>\ 8623 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_17_'+LANG+'.jpg">\ 8624 <div class="step3-step text-left"><span>STEP 03.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.3-4']+'</div>\ 8625 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_18_'+LANG+'.jpg">\ 8626 <div class="step3-step text-left"><span>STEP 04.</span>'+$.lang[LANG]['manager.cert.guide.step.3.txt.3-5']+'</div>\ 8627 <img class="img-responsive" src="//storage.googleapis.com/i.addblock.net/member/cert_guide/'+LANG+'/verification_guide_19_'+LANG+'.jpg">\ 8628 </div>\ 8629 </div>\ 8630 <div class="modal-footer guideClose">\ 8631 <button type="button" class="btn btn-default btn-sm close-button-dialog clostbtnfalse" data-dismiss="modal">'+$.lang[LANG]['config.close']+'</button>\ 8632 </div>\ 8633 </div>\ 8634 '; 8635 8636 var certApplyGuideModal = $(this).showModalFlat('',str,true,false,'','close','','guidePopup cl-cmmodal cl-s-btn cover w700 cert-guide-modal', false ,'',function() { 8637 $(window).resize(function () { 8638 var mobile = (window.innerWidth<768) ? 'm.' : ''; 8639 8640 $('.cert-guide-modal .guide-menu li').each(function(i) { 8641 $(this).find('p').html($.lang[LANG]['manager.cert.guide.step.'+mobile+i]); 8642 }); 8643 }); 8644 $.guidePopup.scrollevent(); 8645 }); 8646} 8647
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.