1if(!window.App) { 2 App = {}; 3} 4if(!App.board){ 5 App.board = {}; 6} 7 8$(function() { 9 10 var boardApp = new App.board.Common(); 11 12 boardApp.init(); 13 14}); 15 16App.board.Common = function() { 17 18 var self; 19 20 21 if(locale == 'ko') { 22 $.datepicker.setDefaults({ 23 dateFormat: 'yymmdd', 24 prevText: 'ì´ì ë¬', 25 nextText: 'ë¤ì ë¬', 26 monthNames: ['1ì', '2ì', '3ì', '4ì', '5ì', '6ì', '7ì', '8ì', '9ì', '10ì', '11ì', '12ì'], 27 monthNamesShort: ['1ì', '2ì', '3ì', '4ì', '5ì', '6ì', '7ì', '8ì', '9ì', '10ì', '11ì', '12ì'], 28 dayNames: ['ì¼', 'ì', 'í', 'ì', '목', 'ê¸', 'í '], 29 dayNamesShort: ['ì¼', 'ì', 'í', 'ì', '목', 'ê¸', 'í '], 30 dayNamesMin: ['ì¼', 'ì', 'í', 'ì', '목', 'ê¸', 'í '], 31 showMonthAfterYear: true, 32 yearSuffix: 'ë ' 33 }); 34 } 35 36 return { 37 init: function() { 38 self = this; 39 40 // selectBox ê²ì, ì°ê¸° ì ë í¸ë°ì¤ ë°ì¸ë© 41 self.selectBoxBind(); 42 43 // sns ë¡ ë³´ë´ê¸° ë²í¼ ì´ë²¤í¸ ë°ì¸ë© 44 self.bindSendSnsBtn(); 45 46 // ìëí° ë°ì¸ë© 47 self.bindEditor(); 48 49 // ì¶ì² ë°ë ì´ë²¤í¸ ë°ì¸ë© 50 self.clickRecommend(); 51 52 // 2ì°¨ ë¶ë¥ ì ë í¸ ë°ì¤ ëì ë¡ë© 53 // self.loadCategory2Depth(); 54 55 // ìºë¦°ë datepicker, class ì calendar ê° ìì¼ë©´ datepicker ìì± 56 self.datePicker(); 57 58 // ì´ë©ì¼ ëë©ì¸ ì í 59 self.bindEmailDomain(); 60 61 // ê³µì§ ì²´í¬ 62 self.noticeCheck(); 63 64 // ê³µì§ì¼ë ì ë ¬ë²í¸ ë° ë¬¸êµ¬ ì¬ë¶ ì²´í¬ 65 self.orderNoUserCheck(); 66 67 // ì²¨ë¶ íì¼ ë²í¼ ë°ì¸ë© 68 self.initAttachButton(); 69 70 // ì°ê¸°í¼ ì í¨ì± ì²´í¬ 71 self.formValid(); 72 73 // ëµê¸ ì°ê¸°í¼ ì í¨ì± ì²´í¬ 74 self.replyfromValid(); 75 76 // ë¹ë°ë²í¸ ì ë ¥ ì í¨ì± ì²´í¬ 77 self.bindPassword(); 78 79 // 기í ë°ì¸ë© 80 self.bindEtc(); 81 82 // íëì ë§µì´ ì¡´ì¬íë©´ ë©ìì§ ì¶ë ¥ 83 self.showFlashMessage(); 84 85 // tag 86 self.tagInput(); 87 88 // captcha 89 self.bindCaptcha(); 90 91 // faq í´ë¦ 92 self.faqOpen(); 93 94 // ì¸ë¤ì¼ ì´ë¯¸ì§ ì²¨ë¶ ëì²´í ì¤í¸ íì 95 self.thumbAltCheck(); 96 97 // ê²ìí ë³µì¬ 98 self.popBoardList(); 99 100 //FAQ ëµë³ toggle ë©ìë 101 self.toggleText(); 102 103 //ê²ìê¸ ê°ì 104 self.listLimit(); 105 106 // ì ë ¥íì ì´ë²¤í¸ 107 self.bindinputEvent(); 108 }, 109 thumbAltCheck : function(){ 110 111 $('.thumb').change(function(){ 112 113 var $this = $(this), val = $this.val(), alt = $this.parent().siblings().children('.file-alt'), isImg = /\.(png|bmp|jpg|gif|jpeg)$/i.test(val); 114 115 if( alt.length > 0 ) { 116 117 if(val !== '' && isImg ) { 118 if ( alt.val() == '' ){ 119 alt.addClass('jwvalid-must'); 120 } 121 } else { 122 alt.removeClass('jwvalid-must'); 123 } 124 125 } 126 127 }); 128 129 }, 130 faqOpen : function(){ 131 132 133 self = this; 134 $box = $(".board-faq-list li"); 135 136 $box.each(function(){ 137 138 $(this).find("a.faqTitle").click(function(){ 139 140 if($(this).parent().siblings(".board-faq-answer").is(":hidden")){ 141 $(this).parent().siblings(".board-faq-answer").slideDown(); 142 $(this).addClass("faq-close"); 143 } else if($(this).parent().siblings(".board-faq-answer").is(":visible")){ 144 $(this).parent().siblings(".board-faq-answer").slideUp(); 145 $(this).removeClass("faq-close"); 146 } 147 return false; 148 149 }); 150 151 }); 152 153 }, 154 155 //FAQ ëµë³ toggle ë©ìë 156 toggleText: function() { 157 $('.faq .toggleTitle').click(function( event ) { 158 var $this = $(this); 159 $this.closest('.b-quest-box').next('.b-ans-box').slideToggle(0); 160 return false; 161 }); 162 }, 163 164 // ì ë í¸ ë°ì¤ 165 selectBoxBind : function(){ 166 167 // 커ì¤í ì ë í¸ë°ì¤ì¸ ìì í´ë¦ì ê°ì¶¤ 168 $(document).on('click',':not(.b-sel-box)',function( e ) { 169 170 var parentSelectBox = $(e.target).closest('.b-sel-box'); 171 172 if(parentSelectBox.length == 0) { 173 // ì ë í¸ ë°ì¤ ì¸ì ìì í´ë¦ì 모ë ì ë í¸ ë°ì¤ ê°ì¶¤ 174 $('.b-sel-box ul').hide(); 175 } else { 176 // ì ë í¸ ë°ì¤ ìì í´ë¦ì ìì ì ì ë í¸ë°ì¤ ì¸ì ì ë í¸ ë°ì¤ ê°ì¶¤ 177 var ul = parentSelectBox.find('ul').get(0); 178 $('.b-sel-box ul').each(function() { 179 if(this !== ul) { 180 $(this).hide(); 181 } 182 }); 183 } 184 }); 185 186 // 커ì¤í ì ë í¸ë°ì¤ option í´ë¦ì 187 $(document).on("click",".b-sel-box .select-option",function(e) { 188 189 e.preventDefault(); 190 191 var value = $(this).attr("data-value"); 192 var text = $(this).text(); 193 194 var $container = $(this).closest('.b-sel-box'); 195 196 $container.find('input[type=hidden]').val(value); 197 198 // ì íë option í ì¤í¸ íì 199 $container.find("a.b-sel-title").text(text); 200 201 $container.find('li').removeClass('selected'); 202 203 if(value !== '' && value !== undefined) { 204 $(this).parent('li').addClass('selected'); 205 } 206 207 if(!$container.is('.cate-box')) { 208 return; 209 } 210 211 // ì¹´í ê³ ë¦¬ì¼ ê²½ì° 212 // íì ëì¤ê° ì¡´ì¬íë©´ 213 214 // 1. íìì 모ë ì¹´í ê³ ë¦¬ ì´ê¸°í 215 var cateBox = $container; 216 while((cateBox = cateBox.next('.cate-box')).length > 0) { 217 cateBox.find('input[data-category-name]').val(''); 218 cateBox.find('a.b-sel-title').text( cateBox.find('label').text() ); 219 cateBox.find('li:not(:first)').remove(); 220 cateBox.addClass('disabled'); 221 } 222 223 // íì ëì¤ì ìµì ì¶ê° 224 var cateBox = $container.next('.cate-box'); 225 if(cateBox.length > 0) { 226 227 var children = findChildren(value); 228 229 if(children.length > 0) { 230 231 cateBox.removeClass('disabled'); 232 var $ul = cateBox.find('ul'); 233 for(var i=0; i<children.length; i++) { 234 var item = children[i]; 235 $ul.append('<li><a href="#category" class="select-option" data-value="' + item.categoryId + '" title="' + item.categoryNm + '">
235'+ item.categoryNm +'</a></li>'); 236 237 } 238 239 } 240 } 241 242 243 }); 244 245 // 커ì¤í ì ë í¸ ë°ì¤ë¥¼ í´ë¦íë©´ 리ì¤í¸ ë³´ì/ê°ì¶¤ 246 $(document).on('click','.b-sel-box',function(){ 247 var $box = $(this); 248 // ë¹íì±ì´ë©´ í´ë¦ ê¸ì§ 249 if($box.is('.disabled')) { 250 return false; 251 } 252 253 $('.b-sel-box').css('z-index',0); 254 $box.css({zIndex: $box.find("ul").is(":hidden")? 10: 0 }); 255 $box.find("ul").toggle(); 256 257 }); 258 259 // ì¼ë° ì¹´í ê³ ë¦¬ ì ë í¸ë°ì¤ë¥¼ í´ë¦íë©´ íì ì¹´í ê³ ë¦¬ ì ë í¸ë°ì¤ ìµì ë³ê²½ 260 $('select[data-category-name]').change(function() { 261 262 var $this = $(this), self = this, value = $this.val(); 263 264 // 1. íìì 모ë ì¹´í ê³ ë¦¬ ì´ê¸°í 265 var nextsibling = false, $next; 266 $('select[data-category-name]').each(function() { 267 if(nextsibling && !$next) { 268 $next = $(this); // ë¤ì ì¹´í ê³ ë¦¬ 269 } 270 if(nextsibling) { 271 $(this).val(''); 272 $(this).find('option:not(:first)').remove(); 273 $(this).attr('disabled','disabled'); 274 } 275 if(self == this) nextsibling = true; 276 }); 277 278 // íì ì¹´í ê³ ë¦¬ì ìµì ì¶ê° 279 if($next) { 280 281 var children = findChildren(value); 282 283 if(children.length > 0) { 284 285 $next.removeAttr('disabled'); 286 for(var i=0; i<children.length; i++) { 287 var item = children[i]; 288 $next.append($('<option>',{value:item.categoryId,text:item.categoryNm})); 289 } 290 291 } 292 } 293 294 }); 295 296 // í¸ë¦¬ìì 찾기 297 function findChildren( categoryId ) { 298 var stack = [categoryItems]; 299 while(stack.length !== 0) { 300 var items = stack.pop(); 301 for(var i=0; i<items.length; i++) { 302 var item = items[i]; 303 if(item.categoryId == categoryId) { 304 return item.children || []; 305 break; 306 } 307 if((item.children || []).length > 0) { 308 stack.push( item.children ); 309 } 310 } 311 } 312 return []; 313 314 } 315 316 317 // 커ì¤í ì ë í¸ë°ì¤ ì´ê¸°ê° ì¤ì 318 function init( $box ) { 319 320 var val = $box.find('input[type=hidden]').val(), text; 321 $box.find('[data-value]').each(function( index, item ) { 322 var $item = $(item); 323 if(index == 0 && !$item.attr('data-value')) { 324 text = $item.text(); 325 } 326 if($item.attr('data-value') == val) { 327 if(val !== '' && val !== undefined) { 328 $item.parent().addClass('selected'); 329 } 330 text = $item.text(); 331 return false; 332 } 333 }); 334 $box.find("a.b-sel-title").text(text); 335 336 } 337 338 // 커ì¤í ì ë í¸ë°ì¤ ì´ê¸°ê° ì ì© 339 $(".b-sel-box").each(function(){ 340 var $box = $(this); 341 init( $box ); 342 343 if($box.find('li').length <= 1) { 344 $box.addClass('disabled'); 345 } 346 347 }); 348 349 // ê²ì í´ë¦ì name ì ë§ì§ë§ ì¹´í ê³ ë¦¬ ì ë í¸ë°ì¤ì ì ì©íë¤. (ê²ì : srCategoryId, ì°ê¸° : categoryId) 350 $('form').filter(function() { 351 352 return /get/i.test($(this).attr('method')); 353 354 }).submit(function() { 355 if($("input[name=mode]:checked").val() == "patent" && $("input[name=type]").val() == "article"){ 356 $("input[name=type]").val("1"); 357 } 358 359 var cateList = $('[data-category-name]'); 360 cateList.removeAttr('name'); 361 for(var i=cateList.length-1; i>=0; i--) { 362 363 var $cate = $(cateList[i]); 364 var val = $cate.val(); 365 if(val !== '' && val !== undefined) { 366 $cate.attr('name',$cate.attr('data-category-name')); 367 break; 368 } 369 } 370 371 372 }); 373 374 // ì ì¥ í´ë¦ì name ì ë§ì§ë§ ì¹´í ê³ ë¦¬ ì ë í¸ë°ì¤ì ì ì©íë¤. (ê²ì : srCategoryId, ì°ê¸° : categoryId) 375 $('form[name=writeForm]').submit(function() { 376 console.log("submit this",$(this)); 377 var cateList = $('[data-category-name]'); 378 cateList.removeAttr('name'); 379 cateList.removeClass('jwvalid-must'); 380 381 // 커ì¤í ì ë í¸ ë°ì¤ 382 var $items = $('.b-sel-box.cate-box'); 383 for(var i=$items.length-1; i>=0; i--) { 384 var $box = $($items[i]); 385 if($box.find('li').length >
385 1) { // 리ì¤í¸ê° ì¡´ì¬íë ì ë í¸ë°ì¤ì name ê³¼ jwvalid-must 를 ë£ì´ì£¼ì´ì íìì²´í¬ì ìë² ì ì¡ê°ì¼ë¡ ì§ì 386 var $input = $box.find('input[data-category-name]'); 387 // data-valid-must ì´í¸ë¦¬ë·°í¸ê° ìëê²½ì°ë§ jwvalid-must í´ëì ì¶ê° 388 if($input.is('[data-valid-must]')) { 389 $input.addClass('jwvalid-must'); 390 } 391 $input.attr('name',$input.attr('data-category-name')); 392 break; 393 } 394 } 395 396 // ì¼ë° ì ë í¸ ë°ì¤ 397 var $items = $('select[data-category-name]'); 398 for(var i=$items.length-1; i>=0; i--) { 399 var $box = $($items[i]); 400 if($box.find('option').length > 1) { // 리ì¤í¸ê° ì¡´ì¬íë ì ë í¸ë°ì¤ì name ê³¼ jwvalid-must 를 ë£ì´ì£¼ì´ì íìì²´í¬ì ìë² ì ì¡ê°ì¼ë¡ ì§ì 401 if($box.is('[data-valid-must]')) { 402 $box.addClass('jwvalid-must'); 403 } 404 $box.attr('name',$box.attr('data-category-name')); 405 break; 406 } 407 } 408 409 410 }); 411 412 413 414 }, 415 tagInput: function() { 416 if($('input.tag').length == 0) { 417 return; 418 } 419 $('input.tag').tagit({ 420 // ìë ìì± ajax 421 allowSpaces: true, 422 autocomplete: { 423 source: function( search, showChoices ) { 424 $.ajax({ 425 dataType: 'json', 426 url: ctx+'/cms/plugin/tag/searchTag.do', 427 data: { 428 'tag': search.term, 429 'limit': 10 430 }, 431 cache: false, 432 success: function( json ) { 433 if(json.success) { 434 showChoices(json.items); 435 } 436 } 437 }); 438 } 439 } 440 }); 441 442 $('.ui-autocomplete-input').val(" + TAG"); 443 $('.ui-autocomplete-input').autosizeInput(); 444 445 $('.ui-autocomplete-input').focus(function(){ 446 $(this).val(''); 447 $(this).data('autosizeInputInstance').update(); 448 $(this).css('color','#555555'); 449 }); 450 451 $('.ui-autocomplete-input').blur(function(){ 452 $(this).val(' + TAG'); 453 $(this).data('autosizeInputInstance').update(); 454 $(this).css('color','blue'); 455 }); 456 457 }, 458 bindEtc: function() { 459 460 // 본ì¸ê¸ë§ íì¸ê°ë¥ ë©ìì§ 461 $('a[href="#secureArticle"]').click(function(e) { 462 e.preventDefault(); 463 toastr.error($m('본ì¸ë§ì¡°íê°ë¥')); 464 465 }); 466 467 // ê²ì물 ìì ë²í¼ ë°ì¸ë© 468 $('.attch-del-check').click(function() { 469 var isDel = this.checked; 470 if(isDel) { 471 //$(this).parent('li').addClass('deleted'); 472 $(this).siblings('.del').addClass('deleted'); 473 } else { 474 //$(this).parent('li').removeClass('deleted'); 475 $(this).siblings('.del').removeClass('deleted'); 476 } 477 478 }); 479 480 // ì²ë¦¬ ì ì§ë¬¸ 481 $('a[data-confirm]:not(.adm)').click(function() { 482 483 if(confirm($m($(this).attr('data-confirm')))) { 484 return true; 485 } 486 487 return false; 488 489 }); 490 491 492 // ì²ë¦¬ ì ì§ë¬¸ 493 /*$('a[data-confirm]').not('.adm').not('.college_schedule').click(function() { 494 495 if(confirm($m($(this).attr('data-confirm')))) { 496 return true; 497 } 498 499 return false; 500 501 }); 502 */ 503 504 }, 505 /** 506 * ì´ë©ì¼ ëë©ì¸ ì í 507 */ 508 bindEmailDomain: function() { 509 510 $('select.email-domain').each( function() { 511 self.changeDomain( $(this) ) 512 }); 513 514 $('select.email-domain').change( function() { 515 self.changeDomain( $(this) ); 516 }); 517 518 }, 519 changeDomain: function( $select ) { 520 521 var val = $select.val(), $input = $select.prev('input'); 522 523 if(val) { 524 $input.val(val); 525 } 526 527 if(!val) { 528 // ëë©ì¸ ì ë ¥íë를 í ì¤í¸ ë¡ë³ê²½ 529 $input.attr('type','text'); 530 //setTimeout( function() {$input.focus();},100 ); 531 532 } else { 533 // ëë©ì¸ ì ë ¥íë를 íë ì¼ë¡ë³ê²½ 534 $input.attr('type','hidden'); 535 } 536 537 }, 538 /** 539 * íëì ë§µì´ ì¡´ì¬íë©´ ë©ìì§ ì¶ë ¥ 540 */ 541 showFlashMessage: function() { 542 543 if( $('.flash-map').length > 0 ) { 544 545 $('.flash-map').each(function() { 546 // ì´ì ì¤í¬ë¦½í¸ìì í¸ì¶ íì¼ë©´ ì¤íµ 547 if(!$(this).data('flash-map')) { 548 showAlert($(this).text()); 549 $(this).data('flash-map',true) 550 } 551 552 }); 553 554 } 555 556 }, 557 /** 558 * sns ë¡ ë³´ë´ê¸° ë²í¼ ì´ë²¤í¸ 559 */ 560 bindSendSnsBtn: function () { 561 562 $('.lsns-lnk-btn').click(function() { 563 var $this = $(this); 564 jwxe_popupWindow( $this.attr('href'), $this.attr('data-width'), $this.attr('data-height'), $this.attr('data-sns'), "yes", "yes"); 565 return false;
566 }); 567 568 }, 569 /** 570 * ìëí° ë°ì¸ë© 571 */ 572 bindEditor: function() { 573 574 $('textarea.editor').each( function( index ) { 575 576 var height = $(this).attr('data-editor-height') || 300; 577 578 var editor = initEditor({ 579 height: height, 580 index: index, 581 $textarea: $(this), 582 el: this, 583 isTemplateEditor: /T|A/.test($('.board form input[name=htmlYn]').val()) 584 }); 585 $(this).data('editor', editor); 586 587 588 /* 589 var editorHeight = $(this).attr('data-editor-height') || 200; 590 var editor = initEditor(this , resPath + 'js/ck_config.js', editorHeight); 591 // ìëí°ë¥¼ textarea ì ì¥ìì ë´ì ëë¤. 592 $(this).data('editor', editor); 593 */ 594 595 596 }); 597 598 599 }, 600 /** 601 * 2ì°¨ ë¶ë¥ë¥¼ ëì ì¼ë¡ ë¡ë© íë¤. 602 */ 603 loadCategory2Depth: function() { 604 605 if($('#category2').length ==0) { 606 return; 607 } 608 609 $('#category1').change(function() { 610 611 var $cate1 = $(this), $cate2 = $('#category2'), value = $cate1.val(); 612 613 $cate2.val(''); 614 //selectBox bug fix 615 $cate2.next('a').find('span.ui-selectBox-label').text( $cate2.find('option:eq(0)').text() ); 616 617 if(!value) { 618 $cate2.find('option:not(:eq(0))').remove(); 619 return; 620 } 621 622 //$cate2.parent().spinStart(); 623 624 $.ajax({ 625 url: ctx+'/app/board/board.do', 626 cache: false, 627 data: { 628 mode: 'loadSubCategory', 629 mstCategoryId: value 630 }, 631 dataType: 'json', 632 error: function() { 633 $cate2.parent().spinStop(); 634 }, 635 success: function(data) { 636 637 $cate2.parent().spinStop(); 638 639 if(typeof(data.success) != 'undefined' && data.success == true) { 640 641 $cate2.find('option:not(:eq(0))').remove(); 642 643 for(var i=0; i<data.items.length; i++) { 644 645 $cate2.append($('<option>',{ 646 value: data.items[i].id, 647 text: data.items[i].categoryNm 648 })); 649 650 651 } 652 653 654 } 655 } 656 657 }); 658 659 }); 660 661 662 }, 663 /** 664 * í¼ ì í¨ì± ê²ì¦ 665 */ 666 formValid: function() { 667 668 // ìëí° ë´ì©ì textarea ë¡ ì®ê¸´ë¤. 669 $('form[name=writeForm]').submit(function(e) { 670 671 console.log("this1",$(this)); 672 console.log("thisData1",$(this).data()); 673 674 675 /** 676 if($(this).data('complete')) { 677 console.log("this2",$(this)); 678 console.log("thisData2",$(this).data()); 679 alert('ìë²ë¡ ì ì¡ì¤ ì ëë¤.'); 680 e.stopImmediatePropagation(); 681 return false; 682 } 683 */ 684 685 $('textarea.editor').each(function() { 686 687 var editor = $(this).data('editor'); 688 689 $(this).val( editor.getData() ); 690 691 }); 692 693 // ê°ì¸ì ë³´ ë³´í¸ ëì 694 if($('input[name=infoProtectYn]').length > 0) { 695 if($('input[name=infoProtectYn]:checked').val() !== 'Y') { 696 alert('ê°ì¸ì ë³´ ë³´í¸ ëìí´ ì²´í¬í´ì¼ë§ ë±ë¡ì´ ê°ë¥í©ëë¤.') 697 return false; 698 } 699 } 700 if(!submit()) { 701 return false; 702 } else { 703 $(this).data('complete',true); 704 return true; 705 } 706 }); 707 708 $('form[name=writeForm]').formValid({ 709 beforeSubmit: self.validate 710 }); 711 712 // $('form[name=writeForm]').submit(function(e) { 713 // $(this).data('complete',true); 714 // }); 715 716 /* 717 $('form[name=writeForm]').formValid({ 718 title: [ 719 {title: 'writer', text: $m('writer') }, 720 {title: 'emailid', text: 'ì´ë©ì¼ ìì´ë' }, 721 {title: 'emaildomain', text: 'ì´ë©ì¼ ëë©ì¸' }, 722 {title: 'cate1', text: '1ì°¨ë¶ë¥'}, 723 {title: 'cate2', text: '2ì°¨ë¶ë¥'}, 724 {title: 'category', text: $m('category')}, 725 {title: 'summary', text: 'ìì½ê¸'}, 726 {title: 'alt', text: 'ì´ë¯¸ì§ ëì²´í ì¤í¸'}, 727 {title: 'youtobe', text: 'ëìì'}, 728 {title: 'img', text: 'ì´ë¯¸ì§'} 729 730 731 ], 732 alertFunction: toastr.error, 733 beforeSubmit: self.validate 734 }); 735 */ 736 }, 737 738 replyfromValid : function(){ 739 740 // ìëí° ë´ì©ì textarea ë¡ ì®ê¸´ë¤. 741 $('form[name=reply-write]').submit(function() { 742 743 if($(this).data('complete')) { 744 alert('ìë²ë¡ ì ì¡ì¤ ì ëë¤.'); 745 e.stopImmediatePropagation(); 746 return false; 747 } 748 749 750 $('textarea.editor').each(function() { 751 752 var editor = $(this).data('editor'); 753 754 $(this).val( editor.getData() ); 755 756 }); 757 758 return true; 759 760 }); 761 762 $('form[name=reply-write]').submit(function(e) { 763 $(this).data('complete',true); 764 }); 765 766 767 }, 768 769 /** 770 * í¼ ê²ì¦ í ì¸ë¶ ê²ì¦ 771 */ 772 validate: function() { 773 774 // ìë¨ê³µì§ ìµì ì´ ììê²½ì° 775 if($('#topNoticeYn').length > 0) { 776 777 var checked = $('#topNoticeYn').get(0).checked; 778
779 // ê³µì§ì ì²´í¬ê° ëì´ìì§ ìì¼ë©´ ììì¼ ì¢ ë£ì¼ì ì§ì´ë¤. 780 if(!checked) { 781 $('#noticeStartDt').val(''); $('#noticeEndDt').val(''); 782 } else { 783 if(!$('#noticeStartDt').val() || !$('#noticeEndDt').val()) { // ê¸°ê° ì íì´ ìì¼ë©´ ì í¨ì± ì¤ë¥ 784 toastr.error('ê³µì§ ê¸°ê°ì ì í í´ ì£¼ì¸ì'); 785 return false; 786 } 787 if($('#noticeStartDt').val() > $('#noticeEndDt').val()) { 788 toastr.error('ê³µì§ ììì¼ì´ ì¢ ë£ì¼ ë³´ë¤ í´ ì ììµëë¤.'); 789 return false; 790 } 791 } 792 793 } 794 795 796 //ì ì² ê²ìí 797 //ì´ ë°©ë¬¸ì¸ìì´ 30ëª ì ëë ê²½ì° return falseíë¤ 798 if(boardTy == 'calendar_register'){ 799 var totalCnt = $('[data-people=total]').val(); 800 801 if(totalCnt > 30){ 802 alert('ì¥ìê° íìí ê´ê³ë¡ 15ì¸ ì´ì 30ì¸ ì´í ë¨ì²´ (ë´ë¹ì ìë ì¸ì íì)ë§ ê²¬í ì ì²ì ë°ê³ ìì¼ë©°, ê°ì¸ê²¬íì ë°ë¡ ì ì²ë°ì§ ììµëë¤.'); 803 return false; 804 } 805 } 806 807 return true; 808 }, 809 /** 810 * ê³µì§ ì¬ë¶ ì²´í¬ 811 */ 812 noticeCheck: function() { 813 814 if($('#topNoticeYn').length == 0) { 815 return; 816 } 817 818 var toggle = function() { 819 var checked = $('#topNoticeYn').get(0).checked; 820 if(checked) { 821 /*disabledë ê°ì´ ì ì¡ëì§ ìì¼ë¯ë¡ readonlyë¡ ìì */ 822 $('#noticeStartDt').removeAttr('readonly').removeClass('dark'); 823 $('#noticeEndDt').removeAttr('readonly').removeClass('dark'); 824 } else { 825 $('#noticeStartDt').attr('readonly','readonly').addClass('dark').val(''); 826 $('#noticeEndDt').attr('readonly','readonly').addClass('dark').val(''); 827 } 828 829 } 830 831 toggle(); 832 833 //ê³µì§ ì¬ë¶ë¥¼ ì²´í¬íë©´ ê¸°ê° í ì¤í¸ ë°ì¤ë¥¼ íì±/ë¹íì±íë¤. 834 $('#topNoticeYn').click( toggle ); 835 836 837 }, 838 /** 839 * ê³µì§ì¼ë ì ë ¬ ë²í¸ ë° ë¬¸êµ¬ ì¬ë¶ ì²´í¬ 840 */ 841 orderNoUserCheck: function() { 842 843 if($('#topNoticeYn').length == 0) { 844 return; 845 } 846 847 var toggle = function() { 848 var checked = $('#topNoticeYn').get(0).checked; 849 if(checked) { 850 $('#order-no-user').attr('readonly','readonly').addClass('dark').val(''); 851 $('.orderNoUserInfo').css('display','none'); 852 } else { 853 $('#order-no-user').removeAttr('readonly').removeClass('dark'); 854 $('.orderNoUserInfo').css('display','initial'); 855 } 856 857 } 858 859 toggle(); 860 861 //ê³µì§ ì¬ë¶ë¥¼ ì²´í¬íë©´ ì ë ¬ë²í¸ í ì¤í¸ ë°ì¤ ë° ë¬¸êµ¬ë¥¼ íì±/ë¹íì±íë¤. 862 $('#topNoticeYn').click( toggle ); 863 864 865 }, 866 datePicker: function() { 867 868 $('input.calendar').datepicker({ 869 dateFormat: 'yy-mm-dd', 870 showMonthAfterYear: true, 871 buttonImageOnly: true, 872 changeMonth: true, 873 changeYear: true 874 }); 875 876 }, 877 878 changeAttachCount: function( cnt ) { 879 880 $('.file-list').each(function( index ) { 881 $(this).css('display', cnt > index ? 'block':'none') ; 882 }); 883 884 }, 885 /** 886 * ì²¨ë¶ íì¼ ë²í¼ ë°ì¸ë© 887 */ 888 initAttachButton: function() { 889 890 // ì²¨ë¶ ê°¯ì ì í 891 self.changeAttachCount( $('#attachCnt').val() ); 892 $('#attachCnt').change(function() { 893 894 self.changeAttachCount( $(this).val() ); 895 896 }); 897 898 // ì²¨ë¶ íì¼ì´ ì íëë©´ í ì¤í¸ì ë¿ë ¤ì¤ë¤. 899 $('input[type=file]').change(function() { 900 901 var $this = $(this); 902 903 $this.prev('.file-prev-view').val( $this.val() ); 904 905 }); 906 907 // ì°¾ì보기 ë²í¼ focus 908 var $fileBox = $('.b-file-box.file-list'); 909 $.each($fileBox, function(idx){ 910 var $this = $fileBox.eq(idx) 911 , $btnUpload = $this.find('[type="file"]') 912 , $label = $this.find('.b-file-btn'); 913 914 $btnUpload.on('focusin focusout', function(e) { 915 e.type == 'focusin' ? 916 $label.addClass('file-focus') : $label.removeClass('file-focus'); 917 }); 918 }); 919 920 }, 921 bindPassword: function() { 922 923 $('form[name=password]').formValid({ 924 alertFunction: toastr.error 925 }); 926 927 }, 928 929 /** 930 * ì¶ì² ë°ë ì´ë²¤í¸ ë°ì¸ë© 931 */ 932 clickRecommend: function() { 933 934 $('.recommend').click(function(e) { 935 936 var $this = $(this), articleNo = $('input[name=articleNo]').val(), mode = $this.attr('data-type'); 937 938 e.preventDefault(); 939 940 941 $.ajax({ 942 url:'/_common/jsp/recommend/set_point.jsp?dc='+new Date().getTime(), 943 data: { 944 mode: mode, 945 article_no: articleNo 946 }, 947 dataType: 'json', 948 success: function(data) { 949 if(typeof(data.success) != 'undefined') { 950 if (data.success == true) { 951 //$this.html('<em>' + data.cnt + '</em>'); 952 $this.parent().find(".goodCnt").text( data.cnt ); 953 $this.removeClass("board-like").addClass("board-like-active"); 954 } else { 955 if(data.msg) { 956 //alert(data.msg); 957 alert("ì´ë¯¸ ì¢ìì 를 í´ë¦í ê²ìê¸ ì ëë¤."); 958 } 959 } 960 } 961 } 962 }); 963 964 }); 965 966 }, 967 968 /** 969 * ê²ìê¸ ë±ë¡ì ìº¡ì± 970 */ 971 bindCaptcha : function() { 972 973 rand = Math.random(); 974 $('#jwxe_catpcha').html('<img src="' + ctx + '/cms/CaptCha.jsp?rand=' + rand + '" style="float:left;" alt="ìë ê°ì ë°©ì§ CAPTCHA" />'); 975 976 977 978 $('#captcha_reLoad').click(function(){ self.bindCaptcha() }); //ìë¡ê³ 침ë²í¼ì í´ë¦ì´ë²¤í¸ ë±ë¡ 979 $('#captcha_soundOn').click(function(){ self.bindAudioCapcha(0); }); //ìì±ë£ê¸°ë²í¼ì í´ë¦ì´ë²¤í¸ ë±ë¡ 980 $('#captcha_soundOnKor').click(function(){ self.bindAudioCapcha(1); }); //íê¸ìì±ë£ê¸° ë²í¼ì í´ë¦ì´ë²¤í¸ ë±ë¡ 981 982 }, 983 984 /** 985 * ìº¡ì± ì¤ëì¤ ìì² 986 */ 987 bindAudioCapcha : function(type){ 988 989 var kor = (type > 0) ? "lan=kor":""; 990 var uAgent = navigator.userAgent;
991 var soundUrl = ctx+'/cms/captcha/audio.do?' + kor + '&ans=y'; 992 993 if (uAgent.indexOf('Trident') > -1 || uAgent.indexOf('MSIE') > -1) { 994 winPlayer(soundUrl+'&agent=msie'); 995 } else if (!!document.createElement('audio').canPlayType) { 996 try { new Audio(soundUrl).play(); } catch(e) { winPlayer(soundUrl); } 997 } else window.open(soundUrl, '', 'width=1,height=1'); 998 999 1000 }, 1001 popBoardList : function(){ 1002 $('#copy').click(function(){ 1003 jwxe_popupWindow( '/_custom/' + clientId + '/_common/boardList/app.do?boardTy=' + boardTy + '&boardNo=' + boardNo + '&siteId=' + siteId, "1200", "800", true, true); 1004 }); 1005 }, 1006 1007 //ê²ìê¸ ê°ì 1008 listLimit : function(){ 1009 1010 $("[data-btn=limit]").click(function(){ 1011 var selected = $("[data-label=limit]").text().replace( /[ã±-ã |ã -ã £|ê°-í£]/g, '' ); 1012 var queryString = $("[data-label=limit]").data("query"); 1013 var url = ''; 1014 if(queryString.indexOf('articleLimit') != -1){ 1015 url = queryString.replace(/articleLimit=([^&#]*)/g, 'articleLimit=' + $.trim(selected) ); 1016 }else{ 1017 url = queryString + '&articleLimit=' + $.trim(selected); 1018 } 1019 location.href = "?" + url; 1020 1021 }); 1022 1023 $.urlParam = function(name){ 1024 var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); 1025 return results[1] || 0; 1026 } 1027 1028 1029 }, 1030 1031 phoneNumber : function(value) { 1032 if (!value) { 1033 return ""; 1034 } 1035 1036 value = value.replace(/[^0-9]/g, ""); 1037 1038 let result = []; 1039 let restNumber = ""; 1040 1041 // ì§ìë²í¸ì ëë¨¸ì§ ë²í¸ë¡ ëë기 1042 if (value.startsWith("02")) { 1043 // ìì¸ 02 ì§ìë²í¸ 1044 result.push(value.substr(0, 2)); 1045 restNumber = value.substring(2); 1046 } else if (value.startsWith("1")) { 1047 // ì§ì ë²í¸ê° ìë ê²½ì° 1048 // 1xxx-yyyy 1049 restNumber = value; 1050 } else { 1051 // ëë¨¸ì§ 3ì리 ì§ìë²í¸ 1052 // 0xx-yyyy-zzzz 1053 result.push(value.substr(0, 3)); 1054 restNumber = value.substring(3); 1055 } 1056 1057 if (restNumber.length === 7) { 1058 // 7ìë¦¬ë§ ë¨ìì ëë xxx-yyyy 1059 result.push(restNumber.substring(0, 3)); 1060 result.push(restNumber.substring(3)); 1061 } else { 1062 result.push(restNumber.substring(0, 4)); 1063 result.push(restNumber.substring(4)); 1064 } 1065 1066 return result.filter((val) => val).join("-"); 1067 }, 1068 1069 telNumber : function(value) { 1070 return value.replace(/[^0-9]/g, "").replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3").replace("--", "-"); 1071 }, 1072 1073 setIntOnly : function(value) { 1074 value = value.replace(/[^0-9]/gi, ''); 1075 return parseInt(value) == 0 ? '' : value; 1076 }, 1077 1078 1079 bindinputEvent : function() { 1080 $('.jwvalid-num').on('keyup', function() { 1081 $(this).val(self.setIntOnly($(this).val())); 1082 }); 1083 1084 $('.jwvalid-tel').on('keyup', function() { 1085 $(this).val(self.telNumber($(this).val())); 1086 }); 1087 1088 $('.jwvalid-mobile').on('keyup', function() { 1089 $(this).val(self.phoneNumber($(this).val())); 1090 }); 1091 }, 1092 1093 } 1094} 1095 1096toastr.options = { 1097 closeButton: true, 1098 "debug": false, 1099 "positionClass": "toast-top-right", 1100 "timeOut": "3000" 1101} 1102 1103 1104function showAlert( msg ) { 1105 alert(msg); 1106} 1107 1108const serialize = rawData => { 1109 let rtnData = {}; 1110 for (let [key, value] of rawData) { 1111 let sel = document.querySelectorAll("[name=" + key + "]"); 1112 1113 // Array Values 1114 if (sel.length > 1) { 1115 if (rtnData[key] === undefined) { 1116 rtnData[key] = []; 1117 } 1118 rtnData[key].push(value); 1119 } 1120 // Other 1121 else { 1122 rtnData[key] = value; 1123 } 1124 } 1125 return rtnData; 1126} 1127const submit = () => { 1128 const frm = $("#writeForm")[0]; 1129 const formData = new FormData(frm); 1130 formData.append("reffer", window.location.pathname); 1131 formData.append("action", window.location.host + $("#writeForm").attr("action")); 1132 formData.append("protocol", window.location.href.split(":")[0]) 1133 const serializeFormData = serialize(formData); 1134 1135 let result = false;
1136 1137 $.ajax({ 1138 url: '/webfilter.do', 1139 async: false, 1140 method: 'post', 1141 dataType: 'json', 1142 data: serializeFormData, 1143 success: function( res ) { 1144 if(res.result === "success"){ 1145 result = true; 1146 }else if(res.result === "bypass"){ 1147 // //bypassì ì²ë¦¬ 1148 result = true; 1149 // console.log("result", res.result); 1150 }else{ 1151 console.log("result:", res.result); 1152 console.log("denyMessage : ", res.denyMessage); 1153 console.log("cause", res.cause); 1154 alert("ê°ì¸ì ë³´ê° í¬í¨ëì´ììµëë¤.\n" + res.cause ); 1155 } 1156 } 1157 }); 1158 return result; 1159}
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.