1/* 22018.07.10 JS íµí©ìì 3 4######################################################### 5* í©ì³ì§ë íì¼ 6######################################################### 71. /script/bannerpop.js 9ê° 82. /script/resizePhoto.js 5ê° 93. /script/floating.banner.js 2ê° 104. /script/mosaic.js 6ê° 115. /script/newsAutoCall.js 2ê° 126. /script/common.js 8ê° 137. /script/app.js 49ê° 14 15=> /script/common.js ë¡ íµí© 16########################################################## 17*/ 18 19/* ****************************************** */ 20/* /script/bannerpop.js */ 21/* ****************************************** */ 22 23var adWrite={ 24 // php ì ë¬ ë³ì 25 vars:{ 26 separator : "|" 27 ,editId : null // ìì í id 28 ,box : '<div class="ad-map" />' // ìì±ë ë°ì¤ 29 ,buttons : '<div class="ad-map-btns"><div class="btn-group-vertical"><button type="button" class="btn_com btn_com_0_699 adcmb_button adcmb_modify button secondary tiny" title="ìì "><i class="icon-link"></i></button><button type="button" class="btn_com btn_com_35_699 adcmb_button adcmb_delete button tiny nd-gray" title="ìì "><i class="icon-trash-o"></i></button></div></div>' //ìì ë ë°ì¤ì ë²í¼ë¤ 30 ,$textBox : null 31 ,act : "" // ì¬ì§ ì ë¡ëíê³ ì´ë¬ì íê² ì주 actê°ì´ ë°ëëë°, ê·¸ê²ì ìë ê° 32 ,iframe : '<iframe src="about:blank" name="adc_up_frame" id="adc_up_frame" width="0" height="0" frameborder="0"></iframe>' // uploadì© iframe 33 ,loadData : {} 34 } 35 36 // ì´ë¯¸ì§ ë¡ë©ëë©´ í¬ê¸° ì¬ì´ì¤ê¸° 37 // IEë§ ì´ë¯¸ì§ ë¡ë©ëí ì´ë²¤í¸ê° 먹ì´ì ¸ì í¬ê¸°ë¥¼ ì ëë¡ ì¬ì´ì¤ì§ 못í´ì inlineì¼ë¡ ì¤í¬ë¦½í¸ ìì±í¨ 38 ,getSizeLoadImage:function(_this) 39 { 40 var _w = _this.width 41 ,_h = _this.height; 42 43 _this.setAttribute("data-display-width", _w); 44 _this.setAttribute("data-display-height", _h); 45 46 // ì´ë¯¸ì§ë§µ ì´ë²¤í¸ 47 adWrite.map($(_this)); 48 } 49 50 // ë±ë¡ì ì´ë²¤í¸ë¤ 51 ,evtCrtForm:function() 52 { 53 var parents = this 54 ,$type = $("#adc_crt_type_html, #adc_crt_type_file") 55 ,$htmlBox = $("#adc_crt_html_box") 56 ,$fileBox = $("#adc_crt_attach_file_box") 57 58 ,$popupType = $("#adc_crt_popup_type_layer, #adc_crt_popup_type_window") 59 ,$layer = $("#adc_crt_popup_layer_opt_box") 60 ,$window = $("#adc_crt_popup_window_opt_box") 61 62 ,$closeIcon = $("#adc_crt_popup_layer_icon") 63 ,$iconBox = $("#adc_crt_popup_layer_icon_box") 64 65 ,$closeExpire = $("#bottom_close_expire_label") 66 ,$closeExpireBox = $("#bottom_close_expire_box") 67 68 ,$attachFile = $("#adc_crt_attach_file") 69 ,$previewFile = $("#adc_crt_file_image") 70 ,$previewBox = $("#adc_crt_image_preview_box") 71 72 ,$max_file_size = $("#file_upload_max_size").val(); 73 74 // ì ë ¥ë¶ë¶ ë´ìë기 75 this.vars.$textBox = $("#adc_crt_image_link_box"); 76 77 // html, file ì ë ¥ 78 $type.click(function(){ 79 var isChecked = $(this).attr("value"); 80 81 $htmlBox[isChecked==="HTML"?"removeClass":"addClass"]("is-hidden"); 82 $fileBox[isChecked==="FILE"?"removeClass":"addClass"]("is-hidden"); 83 }); 84 85 // 미리보기 í¸ì¶ // 86 $attachFile.change(function(){ 87 var form = document.adc_form; 88 89 if (typeof (FileReader) != "undefined") { 90 91 var file = $(this)[0].files[0] 92 ,regex = ['jpg', 'jpeg', 'png', 'gif', 'swf'] 93 ,filesize = file.size 94 ,extension = file.name.split('.').pop().toLowerCase(); 95 96 if(filesize > $max_file_size){ 97 alert('ì ë¡ë ì©ëì´ ì´ê³¼ëììµëë¤.'); 98 $attachFile.val(""); 99 return false; 100 } 101 102 if((regex.indexOf(extension) > -1) === false){ 103 alert('jpg, png, gif, swf íì¥ìë§ ì ííì¬ ì£¼ì¸ì.'); 104 $attachFile.val(""); 105 106 //ì ë ¥ìë§ í¨ì ë°ë ìì 107 $previewBox.addClass("is-hidden"); 108 return false; 109 } 110 111 if(extension == "swf"){ 112 $previewBox.addClass("is-hidden"); 113 return false; 114 } 115 116 var reader = new FileReader(); 117 reader.onload = function (e) { 118 var img = new Image(); 119 img.src = e.target.result; 120 121 img.onload = function(){ 122 $previewFile.attr({"src":e.target.result,"data-display-width":this.width, "data-display-height":this.height, "data-width":this.width, "data-height":this.height, "alt":(form.title.value)?form.title.value:form.idxno.value}); 123 $previewBox.removeClass("is-hidden"); 124 125 // ì´ë¯¸ì§ê° ì¤ì ì¬ì´ì¦ê° ë³´ì´ë ì¬ì´ì¦ë³´ë¤ í¬ë©´ ë¤ì ë³´ì´ë ì¬ì´ì¦ë¥¼ ë£ì 126 if(this.width > $previewFile.width()) { 127 $previewFile.attr({"data-display-width":$previewFile.width(), "data-display-height":$previewFile.height()}); 128 } 129 130 $('#size_width').val(this.width); 131 $('#size_height').val(this.height); 132 133 $('#popup_width').val(this.width); 134 $('#popup_height').val(this.height); 135 136 // ì´ë¯¸ì§ë§µ ì´ë²¤í¸ 137 parents.map($previewFile); 138 } 139 } 140
141 reader.readAsDataURL(file); 142 parents.mapDeleteAll(); 143 } 144 }); 145 146 var $mapRadio = $("#adc_crt_image_link_total, #adc_crt_image_link_part, #adc_crt_image_link_not") 147 ,$imgLinkSelect = $(".adcil_btns") 148 ,$imgLink = $("#adc_crt_image_link") 149 ,$imgLinkFile = $("#adc_crt_image_link_file") 150 ,$selectPopup = $("#adc_crt_image_link_popup") 151 ,$btnMapRegist = $("#adc_crt_img_link_btn_regist") 152 ,$linkAction = ''; 153 154 // ì ì²´ ëë ì´ë¯¸ì§ ë§µ ì íì 155 $mapRadio.click(function(){ 156 var $this = $(this) 157 ,type = $this.attr("data-type"); 158 159 if(type == 'total' || type == 'map'){ 160 161 //if(type == 'map') $('#link_event_tag').hide(); 162 //else $('#link_event_tag').show(); 163 164 $("#adc_crt_image_link_box").removeClass('is-hidden'); 165 166 $btnMapRegist[type==="map"?"removeClass":"addClass"]("is-hidden"); 167 168 if(type==="total") parents.mapDeleteAll(); // ì ì²´ì íì¼ë, ì´ì ë°ì´í 모ë ì§ì 169 170 }else{ 171 $("#adc_crt_image_link_box").addClass('is-hidden'); 172 } 173 }); 174 175 // layer or window ì í 176 $popupType.click(function(){ 177 var isChecked = $(this).attr("data-type"); 178 179 $layer[isChecked==="layer"?"removeClass":"addClass"]("is-hidden"); 180 $window[isChecked==="window"?"removeClass":"addClass"]("is-hidden"); 181 }); 182 183 // ë«ê¸° ìì´ì½ í´ë¦ì ìì´ì½ íí ì í ë°ì¤ ì´ê² 184 $closeIcon.click(function(){ 185 var $label_attr_for = $(this).attr('for') 186 ,isChecked = $('#'+$label_attr_for).is(":checked"); 187 188 $iconBox[isChecked===false?"removeClass":"addClass"]("is-hidden"); 189 }); 190 191 // ëªì¼ ëì ì´ì§ ì기 ì ë ¥ë°ì¤ ì´ê¸° 192 $closeExpire.click(function(){ 193 var $label_attr_for = $(this).attr('for') 194 ,isChecked = $('#'+$label_attr_for).is(":checked"); 195 196 $closeExpireBox[isChecked===false?"removeClass":"addClass"]("is-hidden"); 197 }); 198 199 // ì´ë¤ííì ë§í¬ì¸ì§ íì¸ 200 // link, popup, file, close, day_close 201 $imgLinkSelect.click(function(){ 202 var $this = $(this) 203 ,type = $this.attr("data-type"); 204 205 if(type==="popup" || type==="close" || type==="day_close"){ 206 $imgLink.add($imgLinkFile).addClass("is-hidden"); 207 $selectPopup[type==="popup"?"removeClass":"addClass"]("is-hidden"); 208 }else{ 209 $imgLink[type==="link"?"removeClass":"addClass"]("is-hidden"); 210 $imgLinkFile[type==="link"?"addClass":"removeClass"]("is-hidden"); 211 $selectPopup.addClass("is-hidden"); 212 } 213 }); 214 215 $btnMapRegist.click(function(){ 216 217 // ë§µ ë±ë¡ ìì 218 var $popupSelect = $("#adc_crt_image_link_popup_select") 219 ,$linkText = $("#adcil_link_text") 220 ,$etcFile = $("#adcilf_attach") 221 ,$linkTarget = $(".adcil_btns_link option:selected"); 222 223 if(!parents.vars.editId){ 224 alert('ì´ë¯¸ì§ìì ìì í ë§µë°ì´í를 ì ííì¬ì£¼ì¸ì.'); 225 return false; 226 } 227 228 // close, day_close 모ë ë±ë¡ ëë¬ì¼ ì ì¥ëê²...ìê·¸ë¼ radioí´ë¦ë§ì¼ë¡ ì´ì ì ë³´ ì체를 ë ë ¤ë²ë¦¼ 229 var type = $(".adcil_btns:checked").attr('data-type') 230 ,url = "" 231 ,target = ""; 232 233 if(!type) return false; 234 if(type==="link"){ 235 url = $linkText.val(); 236 if(!url){ 237 alert('ë§í¬ë¥¼ ì ë ¥íì¬ ì£¼ì¸ì.'); 238 $linkText.focus(); 239 return false; 240 } 241 242 target = $linkTarget.val(); 243 }else if(type==="popup"){ 244 url = $popupSelect.val(); 245 if(!url){ 246 alert('íì ì ì ííì¬ ì£¼ì¸ì.') 247 $popupSelect.focus(); 248 return false; 249 } 250 }else if(type==="file"){ 251 if(!$etcFile.val()){ 252 alert('íì¼ì ì ííì¬ ì£¼ì¸ì.'); 253 $etcFile.focus(); 254 return false; 255 } 256 257 parents.uploadAttachTmpFile(); 258 259 return false; 260 } 261 262 parents.insertData({ 263 type:type 264 ,url:url 265 ,target:target
266 }) 267 return false; 268 }); 269 } 270 271 // ì´ë¯¸ì§ë§µì íì¼ì¼ë ì ì¥ 272 ,uploadAttachTmpFile:function() 273 { 274 var parents = this 275 ,iframe = this.vars.iframe 276 ,form = document.adc_form; 277 278 $(document.body).append(iframe); 279 280 form.action = "/bannerpop/upload_act.php"; 281 form.target = "adc_up_frame"; 282 form.submit(); 283 } 284 285 // ì´ë¯¸ì§ë§µì ììíì¼ì ì¥í ë¦¬í´ ê° 286 ,afterUploadAttachTmpFile:function(result) 287 { 288 // ì±ê³µì´ë ìëë í¼ì ì¼ë¨ ì´ê¸°íí¨ 289 this.releaseForm(); 290 $("#adc_up_frame").remove(); 291 292 var json = $.parseJSON(adWrite.rawurldecode(result)) 293 ,filename = json[0].filename; 294 295 if(!filename){ 296 alert('ì ë¡ëì ìë¬ê° ë°ìíìµëë¤. ë¤ì ì ë¡ëíì¬ ì£¼ì¸ì.'); 297 return false; 298 } 299 300 this.insertData({type:"file",url:filename,target:"self",json_obj:result}); 301 } 302 303 //rawurldecode 304 ,rawurldecode:function(str) { 305 return decodeURIComponent((str + '') 306 .replace(/%(?![\da-f]{2})/gi, function() { 307 return '%25'; 308 })); 309 } 310 311 // ì´ë¯¸ì§ë§µ ì ë ¥í¼ ì´ê¸°í 312 ,initInsertForm:function(data) 313 { 314 var parents = this 315 ,type = data.type||"link" 316 ,$btns = $(".adcil_btns") 317 ,$imgLink = $("#adc_crt_image_link") 318 ,$imgLinkFile = $("#adc_crt_image_link_file") 319 ,$selectPopup = $("#adc_crt_image_link_popup") 320 ,$filebox = $("#adcilf_uploaded_file"); 321 322 //$btns.filter("[data-type='"+type+"']").prop("checked", true); 323 $btns.filter("[data-type='"+type+"']").click(); // 커ì¤í radio box ë¼ì ì´ë ê² ì²ë¦¬ 324 $filebox.hide(); 325 326 if(type==="popup" || type==="close" || type==="day_close"){ 327 $imgLink.add($imgLinkFile).addClass("is-hidden"); 328 $selectPopup[type==="popup"?"removeClass":"addClass"]("is-hidden"); 329 330 if(type==="popup") $("#adc_crt_image_link_popup_select").val(data.url); 331 332 }else{ 333 $imgLink[type==="link"?"removeClass":"addClass"]("is-hidden"); 334 $imgLinkFile[type==="link"?"addClass":"removeClass"]("is-hidden"); 335 $selectPopup.addClass("is-hidden"); 336 337 if(type==="link"){ 338 $(".adcil_btns_link option[value="+(data.target||"blank")+"]").prop("selected", true); 339 $("#adcil_link_text").val(data.url) 340 }else if(type==="file"){ 341 var $attach = $("#adcilf_attach") 342 ,$delBtn = $("#adcilfuf_btn") 343 ,$filename = $("#adcilfuf_file") 344 ,$fmode = $filename.attr('data-type'); 345 346 $attach.replaceWith($attach.clone()); 347 348 if(data.url){ 349 // íì¼ìì 350 $filebox.show(); 351 $filename.html(data.url); 352 $delBtn.unbind("click").on("click", function(){ 353 if(confirm("ìë²ìì íì¼ì´ ë°ë¡ ì ê±°ë©ëë¤.\nê·¸ëë ìì íìê² ìµëê¹?")) { 354 var file = data.url 355 ,extension = file.split('.').pop().toLowerCase() 356 ,filename = file.replace('.'+extension,''); 357 358 $.post(SITE_DOMAIN + "/bannerpop/upload_act.php" 359 ,{mode:'dlt', fmode:$fmode, idxno:document.adc_form.idxno.value||"", filename:file} 360 ,function(data,rst){ 361 if(rst==="success"){ 362 if(data.result==="success"){ 363 $filename.empty(); 364 $filebox.hide(); 365 parents.insertData({type:"file", url:"", target:"", json_obj:""}, "no"); 366 //alert(decodeURIComponent(data.msg)); 367 }else alert(decodeURIComponent(data.msg)); 368 }else alert('ìì±í ì ìë í ì íì를 ì´ê³¼íììµëë¤.'); 369 },"json"); 370 } 371 }); 372 } 373 } 374 } 375 } 376 377 // ììí¼ ì´ê¸°í 378 ,releaseForm:function(form) 379 { 380 if(!form) form = document.adc_form; 381 382 // í´ì 383 form.action = this.vars.act; 384 form.target = ""; 385 } 386 387 // ë°ì´í ì»ì´ì¤ê¸° 388 ,getHiddenData:function() 389 { 390 var $id = $("#input_"+this.vars.editId) 391 ,val = $id.val().split(this.vars.separator); 392 393 return {id:$id, val:val}; 394 } 395 396 // input type ì ë£ì 397 ,insertData:function(data, isInit) 398 { 399 if(!data) data={}; 400 if(!this.vars.editId) return false; 401 if(!isInit) isInit = "ok"; 402 403 var $data = this.getHiddenData() 404 ,$id = $data.id 405 ,val = $data.val; 406 407 if(val.length<=0) return false; 408 409 val.splice(4, 4, data.type, data.url, data.target, (data.type == 'file' && data.url) ? data.json_obj : '') 410 var value = val.join(this.vars.separator); 411 412 $id.val(value); 413 414 if(isInit==="ok") { 415 //$("#link_event_tag").val("") 416 this.initInsertForm({type:"link", url:"", target:"self"}); 417 } 418 this.vars.editId = null; 419 420 alert('ì ì©ëììµëë¤.'); 421 } 422 423 // ìì í¼ 424 ,modifyForm:function(id) 425 { 426 if(!id) return false; 427 this.vars.editId = id; 428 429 var $data = this.getHiddenData() 430 ,val = $data.val 431 ,type = val[4]||"link" 432 ,url = val[5]||"" 433 ,target = val[6]||"self"; 434 435 //ì´ë¯¸ì§ë§µì íì¼ì¸ì§, ì ì²´ë§í¬ì íì¼ì¸ì§ 구ë¶ì§ê¸° ìí¨ 436 $("#adcilfuf_file").attr('data-type', 'M' + (Number(this.vars.editId.replace(/[^0-9]/g,'')) + 1)); 437 438 this.initInsertForm({type:type, url:url, target:target}); 439 this.mapBlinkArea(); 440 } 441 442 // ì´ë¯¸ì§ ë§µ ì¡ê¸° ìí´ ìì ì ì¥ 443 ,afterUploadTmpFile:function(json) 444 { 445 var form = document.adc_form 446 ,result = json.result||"error" 447 ,data = json.data||"" 448 ,width = json.width||"" 449 ,height = json.height||"" 450 ,mime = json.mime||""; 451 452 // í´ì 453 this.releaseForm(form); 454 455 if(result === "error"){ 456 alert(data); 457 return false; 458 } 459 460 // ëì¤ì í¼ nameì¼ë¡ ë°ê¿ê²!!! 461 //$("#adc_crt_popup_size_width").val(width); 462 //$("#adc_crt_popup_size_height").val(height); 463 if(form.popup_width) form.popup_width.value = width; 464 if(form.popup_height) form.popup_height.value = height; 465 466 // ì°½ ë³´ì´ê³ , ì´ë¯¸ì§ 미리보기 - íìëë ì¬ì´ì¦ ì¬ì¤ê¸° 467 $("#adc_crt_image_preview_box").show(); 468 $("#adc_crt_file_image").attr({"src":"data:"+mime+";base64,"+data, "data-width":width, "data-height":height}); 469 470 // ìë¡ ì¬ë¦°ê²ì´ë, ë¡ë©ëí 모ë ì´ì ì ì ì¥ë ë§µ ì ë³´ ë 림 471 // ì´ì ë°ì´í ìì 472 this.mapDeleteAll(); 473 } 474 475 476 // ë¹ì¨ëë¡ ì¢í ê³ì°í기 477 ,mapCalcPositionRatio:function(val, ratio) 478 { 479 if(ratio === 1) return val; 480 481 return Math.round(val * ratio); 482 } 483 484 // ë¹ì¨ëë¡ ì¢í ê³ì°í기-ì¶ì 485 ,mapScalePositionRatio:function(val, ratio) 486 { 487 if(ratio === 1) return val; 488 489 return Math.round(val / ratio); 490 } 491 492 /** 493 * input type="hidden" ìì± 494 * id : string 495 * pos : object - ì¤ì ìì¹ 496 * kind : string - ë§í¬,íì¼ ë± 497 * url : string - ë§í¬, javascript function 498 * target : string - íì¬ì°½,ìì°½,ë¶ëª¨ì°½ 499 */ 500 ,mapHidden:function($form, id, pos, kind, url, target) 501 { 502 var inputId = "input_"+id 503 ,val = [pos.x1, pos.y1, pos.x2, pos.y2, kind, url, target].join(this.vars.separator) 504 ,input = '<input type="hidden" name="link_url[]" id="'+inputId+'" class="adc_crt_image_map_data" value="'+val+'" />'; 505 506 $form.append(input); 507 } 508 509 // ìì±ë ë§µ ìì 510 ,mapDelete:function(id) 511 { 512 var bId = "btn_"+id 513 ,inputId = "input_"+id; 514 515 $("#"+id+",#"+bId+",#"+inputId).remove(); 516 this.initInsertForm({type:"link", url:"", target:"self"}); 517 alert('ìì ëììµëë¤.'); 518 } 519 520 // ìì±ë ë§´ ì ì²´ ìì 521 ,mapDeleteAll:function() 522 { 523 $(".adc_crt_image_map_data, .ad-map, .ad-map-btns").remove(); 524 } 525 526 // ì ë ¥ë¶ë¶ ê¹ë¹¡ì 527 ,mapBlinkArea:function() 528 { 529 var parents = this; 530 parents.vars.$textBox.addClass("ad-map-bg"); 531 setTimeout(function(){ 532 parents.vars.$textBox.removeClass("ad-map-bg") 533 },500); 534 } 535 536 // ì´ë¯¸ì§ ë§µ ì¡ê¸° 537 ,map:function(target) 538 { 539 var parents = this 540 ,$img = !!target.jquery ? target : $(target) 541 ,width = Number($img.attr("data-width"))||0 // ì¤ì ì¬ì´ì¦ 542 ,height = Number($img.attr("data-height"))||0 543 ,dWidth = Number($img.attr("data-display-width"))||0 // íì ì¬ì´ì¦ 544 ,dHeight = Number($img.attr("data-display-height"))||0 545 ,ratio = width>dWidth ? Number((width/dWidth).toFixed(1)) : 1 // ì¤ì ì¬ì´ì¦ê° íìë ì¬ì´ì¦ë³´ë¤ í´ê²½ì° ë¹ì¨ ë§ì¶ê¸° ìí´ 546 ,box = parents.vars.box 547 ,buttons = parents.vars.buttons 548 ,$imgmapRadio = $("#adc_crt_image_link_part") 549 ,$imgmapBtnRegist = $("#adc_crt_img_link_btn_regist") 550 ,$form = $("#adc_form"); 551 552 553 return { 554 exe:function() 555 { 556 this.canvas().loadData().addEvent(); 557 } 558 559 // ë§ë¶ì´ê¸° 560 ,canvas:function() 561 { 562 $img.next("#adc_crt_edit_canvas").remove().end().after('<div id="adc_crt_edit_canvas" class="ad-canvas" style="left:'+$img.position().left+'px;width:'+dWidth+'px;height:'+dHeight+'px"></div>'); 563 return this; 564 } 565 566 // ë¡ëë ë§µ ë°ì´íì ë°ë¼ 그리기 567 ,loadData:function() 568 { 569 var _parent = this 570 ,$input = $(".adc_crt_image_map_data") 571 ,$canvas = $("#adc_crt_edit_canvas"); 572 573 // ì ì²´ì íì´ë¼ë©´ 574 if($input.length<=0){ 575 parents.initInsertForm(parents.vars.loadData); 576 return this; 577 } 578 579 //if($input.length>0) $('#link_event_tag').hide(); 580 581 // ì´ë¯¸ì§ ë§µ ì¤ì ì¼ë¡ ìì 582 $imgmapRadio.not(":checked").prop("checked", true); 583 $imgmapBtnRegist.show(); 584 585 $.each($input, function(i,ele){ 586 var $ele = $(ele) 587 ,id = ele.id.replace("input_","") 588 ,val = $ele.val().split(parents.vars.separator)||[] 589 ,x1 = val[0]||0 590 ,y1 = val[1]||0 591 ,x2 = val[2]||0 592 ,y2 = val[3]||0 593 ,type = val[4]||"link" 594 ,url = val[5]||"" 595 ,target = val[6]||"self"; 596 597 _parent.display($canvas, id, {x1:x1, y1:y1, x2:x2, y2:y2}); 598 }); 599 600 return this; 601 } 602 603 // ìì 그림 604 ,display:function($canvas, id, data) 605 { 606 if(!data) data={}; 607 608 var $box = $(parents.vars.box) 609 ,$buttons = $(parents.vars.buttons) 610 ,offsetGap = $canvas.position().left||0 // ì ë ì¢íì´ê¸°ì ìºë°ì¤ë³´ë¤ ìì ì´ë¯¸ì§ì¼ê²½ì° gapë§í¼ ëí´ì íìí´ì¤ 611 ,bId = "btn_"+id 612 ,x1 = (Number(parents.mapScalePositionRatio(data.x1, ratio))+offsetGap)||0 613 ,y1 = parents.mapScalePositionRatio(data.y1, ratio)||0 614 ,x2 = (Number(parents.mapScalePositionRatio(data.x2, ratio))+offsetGap)||0 615 ,y2 = parents.mapScalePositionRatio(data.y2, ratio)||0 616 ,width = Math.abs(x1-x2) 617 ,height = Math.abs(y1-y2); 618 619 // ë²í¼ ë§ë¤ê¸°
620 $buttons.css({"top":y1+"px", "left":x2+"px"}).attr({"id":bId}) 621 .find(".adcmb_button").click(function(){ 622 var $this = $(this) 623 ,isModify = $this.is(".adcmb_modify"); 624 625 if(isModify===true){ 626 parents.modifyForm(id); 627 }else{ 628 parents.mapDelete(id); 629 } 630 }); 631 632 // box ë§ë¤ê¸° 633 $box.css({"top":y1+"px", "left":x1+"px", "width":width, "height":height}).attr({"id":id}); 634 635 $canvas.after($box); 636 $box.after($buttons); 637 638 return this; 639 } 640 641 // event 642 ,addEvent:function() 643 { 644 var _this = this 645 ,position = {x:0, y:0} 646 ,$box = null 647 ,start = false; 648 649 $(document.body).off("mousedown mousemove mouseup touchstart touchmove touchend","#adc_crt_edit_canvas") 650 .on({ 651 "mousedown touchstart":function(event) 652 { 653 start = true; 654 655 var $this = $(this) 656 ,evt = parents.getEventObject(window.event || event) 657 ,$evtTarget = $(evt.target||evt.srcElement) 658 ,offsetGap = $evtTarget.position().left // ìëìì¹ê¸° ë문ì ê° left ê°ì ëí´ì¤ì¼ í¨ 659 ,x = Math.round(evt.offsetX||(evt.pageX-$evtTarget.offset().left)) 660 ,y = Math.round(evt.offsetY||(evt.pageY-$evtTarget.offset().top)) 661 ,id = "acem_"+new Date().getTime(); 662 663 position.x = x; 664 position.y = y; 665 666 $box = $(box).css({"top":y, "left":x+offsetGap}).attr({"id":id}) 667 $this.after($box); 668 669 //evt.cancelBubble = true; 670 //evt.stopPropagation(); 671 //evt.preventDefault(); 672 } 673 674 ,"mousemove touchmove":function(event) 675 { 676 if(start === true){ 677 var evt = parents.getEventObject(window.event || event) 678 ,$evtTarget = $(evt.target||evt.srcElement) 679 ,offsetGap = $evtTarget.position().left // ìëìì¹ê¸° ë문ì ê° left ê°ì ëí´ì¤ì¼ í¨ 680 ,x = Math.round(evt.offsetX||(evt.pageX-$evtTarget.offset().left)) 681 ,y = Math.round(evt.offsetY||(evt.pageY-$evtTarget.offset().top)) 682 //,width = Math.abs(x-position.x)-5 683 //,height = Math.abs(y-position.y)-5 684 ,width = Math.abs(x-position.x) 685 ,height = Math.abs(y-position.y) 686 ,css = {}; 687 688 css = {"width":width, "height":height}; 689 690 if(position.x>x && position.y>y){ // ì¢ì 691 css.left = position.x-width+offsetGap; 692 css.top = position.y-height; 693 }else if(position.x>x && position.y<y){ // ì¢í 694 css.left = position.x-width+offsetGap; 695 }else if(position.x<x && position.y>y){ // ì°ì 696 css.top = position.y-height; 697 } 698 699 $box.css(css); 700 } 701 } 702 703 ,"mouseup touchend":function(event) 704 { 705 start = false; 706 707 // $box기ì¤ì¼ë¡ x1,y1,x2,y2 ê°ì ¸ì´ 708 var width = $box.width() 709 ,height = $box.height(); 710 711 if(width<20 && height<20){ 712 $box.remove(); 713 return false; 714 } 715 716 var $buttons = $(buttons) 717 ,evt = parents.getEventObject(window.event || event) 718 ,$evtTarget = $(evt.target||evt.srcElement) 719 ,offsetGap = $evtTarget.position().left // ìëìì¹ê¸° ë문ì ê° left ê°ì ë¹¼ì¤ì¼ì§ ì§ì§ ë§µì´ ë¨ 720 ,pos = $box.css(["top","left"]) 721 ,x1 = parents.castIntFromCss(pos.left) 722 ,y1 = parents.castIntFromCss(pos.top) 723 ,id = $box.attr("id") 724 ,bId = "btn_"+id 725 ,inputId = "input_"+id 726 ,info = { x1 : x1, y1 : y1, x2 : x1 + width, y2 : y1 + height } 727 ,real = { x1 : parents.mapCalcPositionRatio(info.x1, ratio)-offsetGap, y1 : parents.mapCalcPositionRatio(info.y1, ratio), x2 : parents.mapCalcPositionRatio(info.x2, ratio)-offsetGap, y2 : parents.mapCalcPositionRatio(info.y2, ratio)}; 728 729 // ìì ìì ì´ë²¤í¸ 730 $buttons.css({"top":info.y1, "left":info.x2}).attr({"id":bId}) 731 .find(".adcmb_button").click(function(){ 732 var $this = $(this) 733 ,isModify = $this.is(".adcmb_modify"); 734 735 if(isModify===true){ 736 parents.modifyForm(id); 737 }else{ 738 parents.mapDelete(id); 739 } 740 });
741 742 $box.after($buttons); 743 parents.mapHidden($form, id, real, "", "", ""); 744 parents.initInsertForm({type:"link", url:"", target:"self"}); // í¼ ì´ê¸°í 745 parents.vars.editId = id; 746 747 // ì´ë¯¸ì§ë§µì¼ë¡ ì²´í¬ 748 $imgmapRadio.not(":checked").click().prop("checked", true); 749 $imgmapBtnRegist.show(); 750 751 parents.mapBlinkArea(); // ê¸ì°ê¸° í¼ ì´íí¸ 752 753 //util.toast(lang.adcRequireLink); 754 } 755 },"#adc_crt_edit_canvas"); 756 757 return this; 758 } 759 760 }.exe(); 761 } 762 763 // jquery ì´ë²¤í¸ ë±ë¡ ì¬ì©ì, ì´ë²¤í¸ ììë´ê¸° 764 ,getEventObject:function(e) 765 { 766 var evt = window.event||e; 767 evt = evt.targetTouches?evt.targetTouches[0]:evt; // jquery touch event 768 return evt; 769 } 770 771 // css pxì ê±°í ì«ìíì¼ë¡ 772 ,castIntFromCss:function(v) 773 { 774 return Number(v.replace("px","")); 775 } 776 777 // listìì ë²í¼ ì´ë²¤í¸ 778 ,evtClickedButtons:function() 779 { 780 // edit 781 var edit_info = $('#admin-ad-list') 782 ,edit_section = edit_info.attr("data-edit-section") 783 ,edit_area = edit_info.attr("data-edit-area") 784 ,edit_step = edit_info.attr("data-edit-step") 785 ,edit_idxno = edit_info.attr("data-edit-idxno") 786 ,edit_mode = edit_info.attr("data-edit-mode") 787 ,org_banner_kind = edit_info.attr("data-edit-org-banner-kind") 788 ,banner_kind = edit_info.attr("data-edit-banner-kind") 789 ,page = edit_info.attr("data-page") 790 //,tmp_banner_idxno = edit_info.attr("data-edit-tmp-banner-idxno") 791 ,sc_area = edit_info.attr("data-search-scarea") 792 ,sc_word = encodeURIComponent(edit_info.attr("data-search-scword")) 793 794 $(".ad-tile-toolkit, .content-inert").on("click", "button" 795 , function(){ 796 var $this = $(this) 797 ,type = $this.attr("data-btn-type") 798 ,$parent = $this.closest(".adccfg_list_items") 799 ,bannerIdxno = $parent.attr("data-banner-idxno") 800 ,banner_type = $parent.attr("data-banner-type") 801 ,linkInfo = $parent.attr("data-link-info") 802 ,title = $.trim($parent.find(".acli_title").text()) 803 ,state = $.trim($parent.find(".ad-tile-state").text()) 804 ,Imgbp_Tag = $.trim($parent.find(".Imgbp_Tag").html()); 805 806 switch(type){ 807 case "add": 808 if(banner_type == 'popup') { 809 var data = {'mode':edit_mode,'section':edit_section,'popup_title':encodeURIComponent(title),'popup_idxno':bannerIdxno} 810 adWrite.addEditPopupContents(data); 811 }else{ 812 var data = {mode:edit_mode,'idxno':edit_idxno,'area':edit_area,'section':edit_section,'step':edit_step,'banner_title':encodeURIComponent(title),'banner_idxno':bannerIdxno,'kind':banner_kind,'edit_msg':'ì íí ë°°ëë¡ êµì²´íìê² ìµëê¹?'}; 813 adWrite.addEditContents(data); 814 } 815 break; 816 case "down": 817 location.href = '/bannerpop/attach_down.php?idxno='+bannerIdxno+'&mode=O'; 818 break; 819 case "linkInfo": // ì ë¡ëë íì¼ ë§í¬ ë³µì¬ 820 var source = '/bannerpop/uploads/image/'+linkInfo; 821 adWrite.copyExe(source); 822 break; 823 case "sourceCopy": // ìì¤ë³µì¬ 824 /*if(state == '무ì í') { 825 if(!Imgbp_Tag) return false; 826 var _html = '<!--'+title+'-->' 827 + Imgbp_Tag 828 + '<!--//'+title+'-->'; 829 }else{*/ 830 var _time = new Date().getTime() 831 ,_html = '<!--'+title+'-->' 832 + '<script type="text/javascript">var ___BANNER = "ban_'+_time+'";</script>' 833 + '<script type="text/javascript" charset="utf-8" src="/bannerpop/uploads/js/'+bannerId
833xno+'.js?'+_time+'" id="ban_'+_time+'"></script>' 834 + '<!--//'+title+'-->'; 835 //} 836 837 adWrite.copyExe(_html); 838 break; 839 case "preview": 840 if(!window.___popup) return false; 841 842 var p = ___popup[bannerIdxno]; 843 844 if(!p) return false; 845 if(!window.___currentTime) window.___currentTime = Math.floor(new Date().getTime()/1000);// ìê°ì´ ì¤ì ëì§ ììë¤ë©´ js ìê°ì¼ë¡ ì¤ì í¨ 846 847 // ê´ë¦¬ìë§... 848 $(".layer_box").remove(); // ë¤ë¥¸ê² ì´ë ¤ìë¤ë©´ ìì 849 bannerpop.vars.popup.view = "manager"; 850 bannerpop.float(p); 851 break; 852 case "mdf": 853 var $ahref = '/bannerpop/'; 854 $ahref += edit_section ? 'edit.html' : 'write.html'; 855 $ahref += '?type='+banner_type+'&mode=modify&idxno='+bannerIdxno+'&page='+page; 856 if(edit_section) $ahref += '&edit_section=' + edit_section; 857 if(edit_area) $ahref += '&edit_area=' + edit_area; 858 if(edit_step) $ahref += '&edit_step=' + edit_step; 859 if(edit_idxno) $ahref += '&edit_idxno=' + edit_idxno; 860 if(edit_mode) $ahref += '&edit_mode=' + edit_mode; 861 //if(tmp_banner_idxno) $ahref += '&tmp_banner_idxno=' + tmp_banner_idxno; 862 if(org_banner_kind) $ahref += '&org_banner_kind=' + org_banner_kind; 863 if(banner_kind) $ahref += '&banner_kind=' + banner_kind; 864 if(sc_area) $ahref += '&sc_area=' + sc_area; 865 if(sc_word) $ahref += '&sc_word=' + sc_word; 866 location.href = $ahref; 867 break; 868 case "del": 869 if(window.confirm('ìì í ê¹ì?')) { 870 var $ahref = '/bannerpop/delete_act.php?type='+banner_type+'&idxno='+bannerIdxno+'&page='+page; 871 if(edit_section) $ahref += '&edit_section=' + edit_section; 872 if(edit_area) $ahref += '&edit_area=' + edit_area; 873 if(edit_step) $ahref += '&edit_step=' + edit_step; 874 if(edit_idxno) $ahref += '&edit_idxno=' + edit_idxno; 875 if(org_banner_kind) $ahref += '&org_banner_kind=' + org_banner_kind; 876 if(banner_kind) $ahref += '&banner_kind=' + banner_kind; 877 if(sc_area) $ahref += '&sc_area=' + sc_area; 878 if(sc_word) $ahref += '&sc_word=' + sc_word; 879 location.href = $ahref; 880 } 881 break; 882 case "mdf_activity": 883 var $ahref = '/bannerpop/'; 884 $ahref += edit_section ? 'edit.html' : 'write_activity.html'; 885 $ahref += '?type='+banner_type+'&mode=modify&activity_idxno='+bannerIdxno+'&page='+page; 886 if(edit_section) $ahref += '&edit_section=' + edit_section; 887 if(edit_area) $ahref += '&edit_area=' + edit_area; 888 if(edit_step) $ahref += '&edit_step=' + edit_step; 889 if(edit_idxno) $ahref += '&edit_idxno=' + edit_idxno; 890 if(edit_mode) $ahref += '&edit_mode=' + edit_mode; 891 if(org_banner_kind) $ahref += '&org_banner_kind=' + org_banner_kind; 892 if(banner_kind) $ahref += '&banner_kind=' + banner_kind; 893 //if(tmp_banner_idxno) $ahref += '&tmp_banner_idxno=' + tmp_banner_idxno; 894 if(sc_area) $ahref += '&sc_area=' + sc_area; 895 if(sc_word) $ahref += '&sc_word=' + sc_word; 896 location.href = $ahref; 897 break; 898 case "del_activity": 899 if(window.confirm('ìì í ê¹ì?')) { 900 var $ahref = '/bannerpop/delete_activity_act.php?type='+banner_type+'&activity_idxno='+bannerIdxno+'&page='+page; 901 if(edit_section) $ahref += '&edit_section=' + edit_section; 902 if(edit_area) $ahref += '&edit_area=' + edit_area; 903 if(edit_step) $ahref += '&edit_step=' + edit_step; 904 if(edit_idxno) $ahref += '&edit_idxno=' + edit_idxno; 905 if(org_banner_kind) $ahref += '&org_banner_kind=' + org_banner_kind; 906 if(banner_kind) $ahref += '&banner_kind=' + banner_kind; 907 if(sc_area) $ahref += '&sc_area=' + sc_area; 908 if(sc_word) $ahref += '&sc_word=' + sc_word; 909 location.href = $ahref; 910 } 911 break; 912 case "sourceCopy_activity": // ìì¤ë³µì¬ 913 var _time = new Date().getTime() 914 ,_html = '<!--'+title+'-->' 915 + '<script type="text/javascript">var ___BANNER = "ban_'+_time+'";</script>' 916 + '<script type="text/javascript" charset="utf-8" src="/bannerpop/uploads/js_activity/'+bannerId
916xno+'.js?'+_time+'" id="ban_'+_time+'"></script>' 917 + '<!--//'+title+'-->'; 918 919 adWrite.copyExe(_html); 920 break; 921 case "mdf_multi": 922 var $ahref = '/bannerpop/'; 923 $ahref += edit_section ? 'edit.html' : 'write_activity_multi.html'; 924 $ahref += '?type='+banner_type+'&mode=modify&multi_idxno='+bannerIdxno+'&page='+page; 925 if(edit_section) $ahref += '&edit_section=' + edit_section; 926 if(edit_area) $ahref += '&edit_area=' + edit_area; 927 if(edit_step) $ahref += '&edit_step=' + edit_step; 928 if(edit_idxno) $ahref += '&edit_idxno=' + edit_idxno; 929 if(edit_mode) $ahref += '&edit_mode=' + edit_mode; 930 if(org_banner_kind) $ahref += '&org_banner_kind=' + org_banner_kind; 931 if(banner_kind) $ahref += '&banner_kind=' + banner_kind; 932 //if(tmp_banner_idxno) $ahref += '&tmp_banner_idxno=' + tmp_banner_idxno; 933 if(sc_area) $ahref += '&sc_area=' + sc_area; 934 if(sc_word) $ahref += '&sc_word=' + sc_word; 935 location.href = $ahref; 936 break; 937 case "del_multi": 938 if(window.confirm('ìì í ê¹ì?')) { 939 var $ahref = '/bannerpop/delete_activity_multi_act.php?type='+banner_type+'&multi_idxno='+bannerIdxno+'&page='+page; 940 if(edit_section) $ahref += '&edit_section=' + edit_section; 941 if(edit_area) $ahref += '&edit_area=' + edit_area; 942 if(edit_step) $ahref += '&edit_step=' + edit_step; 943 if(edit_idxno) $ahref += '&edit_idxno=' + edit_idxno; 944 if(org_banner_kind) $ahref += '&org_banner_kind=' + org_banner_kind; 945 if(banner_kind) $ahref += '&banner_kind=' + banner_kind; 946 if(sc_area) $ahref += '&sc_area=' + sc_area; 947 if(sc_word) $ahref += '&sc_word=' + sc_word; 948 location.href = $ahref; 949 } 950 break; 951 case "sourceCopy_multi": 952 var _time = new Date().getTime() 953 ,_html = '<!--'+title+'-->' 954 + '<script type="text/javascript">var ___BANNER = "ban_'+_time+'";</script>' 955 + '<script type="text/javascript" charset="utf-8" src="/bannerpop/uploads/js_multi/'+bannerIdxno+'.js?'+_time+'" id="ban_'+_time+'"></script>' 956 + '<!--//'+title+'-->'; 957 adWrite.copyExe(_html); 958 break; 959 } 960 961 return false; 962 }); 963 } 964 965 //ìì ì ì¹ì í 컨í ì¸ ì½ì 966 ,addEditContents:function(data) 967 { 968 //var flag = false; 969 var flag = true; 970 971 /*if(data.mode == 'modify') { 972 if(data.tmp_banner_idxno != data.banner_idxno) { 973 if(confirm(data.edit_msg)) flag = true; 974 else flag = false; 975 }else flag = true; 976 }else flag = true;*/ 977 978 if(flag) { 979 data = JSON.stringify(data); 980 $.ajax({ 981 url:"/edit/adminReservationBannerWrite.php" 982 ,type:'post' 983 ,dataType:'json' 984 ,contentType:'application/x-www-form-urlencoded; charset=utf-8' 985 ,data:{post_data:data} 986 ,success:function(json, result) { 987 if(result == 'success') { 988 if(json.response == 'ok') { 989 window.parent.location.reload(); 990 }else{ 991 alert(json.msg); 992 return false; 993 } 994 }else return false; 995 } 996 }); 997 }else{ 998 return false; 999 } 1000 } 1001 1002 //ìì ì ì¹ì í 컨í ì¸ ì½ì 1003 ,addEditPopupContents:function(data) 1004 { 1005 data = JSON.stringify(data); 1006 $.ajax({ 1007 url:"/edit/adminReservationPopupWrite.php" 1008 ,type:'post' 1009 ,dataType:'json' 1010 ,contentType:'application/x-www-form-urlencoded; charset=utf-8' 1011 ,data:{post_data:data} 1012 ,success:function(json, result) { 1013 if(result == 'success') { 1014 if(json.response == 'ok') { 1015 //window.parent.location.reload(); 1016 parent.$('#edit-modal').find('.close-button').trigger('click'); 1017 adWrite.addPopupContentsList(json); 1018 }else{ 1019 alert(json.msg); 1020 return false; 1021 } 1022 }else return false; 1023 } 1024 }); 1025 } 1026 1027 ,addPopupContentsList:function(json) { 1028 var html = ''; 1029 if(json.rows.length>0) { 1030 for(var i = 0; i < json.rows.length; i++) { 1031 var index = i+1; 1032 html += '<!-- íì //-->';
1033 html += '<div class="option-popup-item">'; 1034 html += ' <input type="radio" name="editPopup" id="editPopup' + index + '" class="popup_element_ckecked" title="' + adWrite.rawurldecode(json.rows[i].popup_title) + '" data-idxno="' + json.rows[i].idxno + '" data-step="' + json.rows[i].step + '" value="' + json.rows[i].popup_idxno + '" />'; 1035 html += ' <label for="editPopup' + index + '">'; 1036 if(json.rows[i].popup_image && json.rows[i].extension != 'swf') { 1037 html += '<img src="/bannerpop/uploads/image/' + json.rows[i].popup_image + '" alt="' + adWrite.rawurldecode(json.rows[i].popup_title) + '" />'; 1038 }else{ 1039 if(json.rows[i].extension == 'swf') html += 'SWF'; 1040 else html += 'HTML'; 1041 } 1042 html += ' <div class="option-popup-item-title">' + adWrite.rawurldecode(json.rows[i].popup_title) + '</div>'; 1043 html += ' </label>'; 1044 html += '</div>'; 1045 html += '<!--// íì -->'; 1046 } 1047 } 1048 1049 parent.$('.option-popup-group').html(html); 1050 } 1051 1052 //ì ì²´ì íãí´ì 1053 ,allChk:function() 1054 { 1055 var $allChk = $('#allCheck'); 1056 $allChk.click(function(){ 1057 if($(this).is(':checked') == true) { 1058 $('.elembox').prop('checked',true); 1059 }else{ 1060 $('.elembox').prop('checked',false); 1061 } 1062 }); 1063 } 1064 1065 /** 1066 * í´ë¦½ë³´ë ë³µì¬ 1067 * source : ë³µì¬í ì ë³´ 1068 */ 1069 ,copyExe:function(source) 1070 { 1071 if(window.clipboardData){ // ie 1072 window.clipboardData.setData('Text',source); 1073 alert("ë³µì¬ëììµëë¤. ìíë ê³³ì ë¶ì¬ë£ê¸°íì¬ ì£¼ì¸ì."); 1074 }else{ // etc 1075 //var $tmpDiv=$('<div class="blind">'+source.replace(/</g,"<").replace(/>/g,">")+'</div>').appendTo("body") 1076 // blindê° display:none ìì± ë문ì ì ê±° 1077 var $tmpDiv=$('<div>'+source.replace(/</g,"<").replace(/>/g,">")+'</div>').appendTo("body") 1078 ,range=document.createRange() 1079 ,selection=null; 1080 1081 range.selectNodeContents($tmpDiv.get(0)); 1082 selection=window.getSelection(); 1083 selection.removeAllRanges(); 1084 selection.addRange(range); 1085 1086 if(document.execCommand("copy", false, null)) alert("ë³µì¬ëììµëë¤. ìíë ê³³ì ë¶ì¬ë£ê¸°íì¬ ì£¼ì¸ì."); 1087 else window.prompt('í¤ë³´ëì ctrl+C ëë ë§ì°ì¤ ì¤ë¥¸ìª½ì ë³µì¬í기를 ì´ì©í´ì£¼ì¸ì.', source); 1088 1089 $tmpDiv.remove(); 1090 } 1091 } 1092 1093 /** 1094 * 기ë¥ì± ë°°ë ì¶ê°/ììë³ê²½/ìì / 1095 */ 1096 ,evtClickActivityAdd:function() { 1097 //sessionStorage.removeItem("last_idx"); 1098 var activity_idxno=window.parent.$('#all-banner-list').closest('div').attr('data-activity-idxno')||''; 1099 $('#activity-add-btn').click(function() { 1100 var $this=$(this); 1101 //,$viewHref=$('#activity-view-btn').attr('href') 1102 //,$last_idx=(activity_idxno)?activity_idxno:sessionStorage.getItem('last_idx'); 1103 1104 if($('.banner_element_ckecked').is(':checked') == false) { 1105 alert('ë°°ë를 ì íí´ì£¼ì¸ì.'); 1106 //if(!$last_idx) $('#activity-view-btn').addClass('is-hidden'); 1107 return false; 1108 }else{ 1109 var $checked=$(".banner_element_ckecked:checked") 1110 ,arr = new Array(); 1111 if($checked.length>0) { 1112 $.each($checked, function(idx, v) { 1113 arr.push(v.value); 1114 }); 1115 1116 var data = {mode:activity_idxno?'modify':'input', activity_idxno:activity_idxno, banner_idxno:arr}; 1117 data = JSON.stringify(data); 1118 //console.log(data); 1119 $.ajax({
1120 url:"/bannerpop/activity_act.php" 1121 ,type:'post' 1122 ,dataType:'json' 1123 ,contentType:'application/x-www-form-urlencoded; charset=utf-8' 1124 ,data:{post_data:data} 1125 ,success:function(json, result) { 1126 if(result == 'success') { 1127 if(json.response == 'ok') { 1128 //alert('ì¶ê°ëììµëë¤.\nì°ì¸¡ì ë²í¼ì í´ë¦íìë©´ ìì¸ íë©´ì¼ë¡ ì´ëí©ëë¤.'); 1129 /*if(!activity_idxno) { 1130 sessionStorage.setItem('last_idx', json.last_insert_id); 1131 $('#activity-view-btn').attr('href', $viewHref + '&activity_idxno='+json.last_insert_id); 1132 } 1133 $('#activity-view-btn').removeClass('is-hidden');*/ 1134 window.parent.location.reload(); 1135 }else{ 1136 //alert(json.msg); 1137 return false; 1138 } 1139 }else return false; 1140 }, 1141 error:function(request,status,error){ 1142 alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); 1143 } 1144 }); 1145 } 1146 } 1147 }); 1148 1149 $('#banner-activity-box').sortable({ 1150 axis: '', 1151 update: function() { 1152 //console.log($(this)); 1153 } 1154 }); 1155 1156 $('.trash').click(function() { 1157 if($('.banner-activity-list').length <= 1) { 1158 alert('ë§ì§ë§ ë°°ëë ìì í ì ììµëë¤.'); 1159 return false; 1160 } 1161 1162 var $this=$(this) 1163 ,$parent = $this.closest('.banner-activity-list'); 1164 1165 $parent.fadeOut('fast', function(){ 1166 $parent.remove(); 1167 }); 1168 }); 1169 1170 $('#all-banner-list').on('click', function(e) { 1171 1172 $this = $(this); 1173 href = $this.attr('href'); 1174 1175 $("#edit-modal-iframe").attr("src", href); 1176 $('#edit-modal').foundation('open'); 1177 1178 return false; 1179 }); 1180 1181 $('#edit-modal').on('open.zf.reveal', function(e){ 1182 $('#for-loading').show(); 1183 }); 1184 1185 $('#edit-modal').on('closed.zf.reveal', function(e){ 1186 $("#edit-modal-iframe").attr("src", "about:blank").height('0px').closest('#activity-modal').css('height', '0px'); 1187 }); 1188 } 1189 1190 ,valid_activity:function() { 1191 if($('#activity_title').val() == '') { 1192 alert('ì 목ì ì ë ¥íì¸ì.'); 1193 $('#activity_title').focus(); 1194 return false; 1195 } 1196 1197 if($('.banner-activity-list').length<=0) { 1198 alert('ë°°ë를 íë ì´ì ì¶ê°íì ì¼ í©ëë¤.'); 1199 return false; 1200 } 1201 1202 return true; 1203 } 1204 1205}; // end adWrite 1206 1207 1208/***************************************************************************** 1209*ê²ìí ì´ë¯¸ì§ ìì¹ ì ì© 1210*****************************************************************************/ 1211var bbsFreeImg = { 1212 1213 set:function(){ 1214 $("input[name^=uploadFile]").each(function(i){ 1215 var img_num = i+1; 1216 if($(this).siblings(".insert-img").length == 0){ 1217 $(this).after('<div class="insert-img dis-none" id="insert-img'+img_num+'"><div class="insert-btn">본문ì½ì </div></div>'); 1218 $(this).closest("div").addClass("insert-img-wrap"); 1219 } 1220 }); 1221 1222 //미리보기 ì ì© 1223 $("input[name^=uploadFile]").on("change", function(){ 1224 bbsFreeImg.thumbnailView(event, $(this).closest(".insert-img-wrap").data("image-num")); 1225 }); 1226 1227 // ì´ë¯¸ì§ 본문 ì½ì 1228 $(".insert-img").on('click', function(){ 1229 InsertHTML('<div style="text-align:center"><figure class="image img_'+$(this).closest(".insert-img-wrap").data("image-num")+'"><img alt="'+$(this).data("image-name")+'" src="'+$(this).find('img').attr('src')+'"><figcaption> </figcaption></figure></div><p> </p>'); 1230 }); 1231 }, 1232 1233 thumbnailView:function(event, image_num) { 1234 var ckeditor = CKEDITOR.instances.content; 1235 1236 var reader = new FileReader(); 1237 var img_file = event.target.files[0]; 1238 1239 var img_obj = $("#insert-img"+image_num+" img"); 1240 var insert_img_num = $("#insert-img"+image_num); 1241 1242 var figure_regex = new RegExp('<figure class="image img_'+image_num+'.*?>.*?<\/figure>', 'sg'); 1243 1244 if (img_file && img_file.type.match('image.*')) {
1245 reader.readAsDataURL(img_file); 1246 reader.onload = function(event) { 1247 var img_src = event.target.result; 1248 1249 if(img_obj.length > 0) img_obj.attr("src", img_src); 1250 else { 1251 var img = document.createElement("img"); 1252 img.setAttribute("src", img_src); 1253 1254 insert_img_num.append(img); 1255 } 1256 1257 insert_img_num.attr("data-image-name", img_file.name).removeClass("dis-none"); 1258 1259 //ë³ê²½ë ì´ë¯¸ì§ë¡ ì¹í 1260 if(figure_regex.test(ckeditor.getData())){ 1261 ckeditor.setData(ckeditor.getData().replaceAll(figure_regex, '<figure class="image img_'+image_num+'"><img alt="'+img_file.name+'" src="'+img_src+'"><figcaption> </figcaption></figure>')); 1262 } 1263 }; 1264 } else { 1265 //본문 ì´ë¯¸ì§ ì ê±° 1266 ckeditor.setData(ckeditor.getData().replaceAll(figure_regex, '').replace(/<div.*?[\r|\n]*<\/div>/, '')); 1267 insert_img_num.addClass("dis-none").find("img").remove(); 1268 } 1269 } 1270} 1271 1272var bannerpop={ 1273 vars:{ 1274 popup:{ 1275 bodyWidth:0 1276 ,bodyLeft:0 1277 ,screenWidth:0 1278 ,popname:"popup_" 1279 ,width:{ window:[],layer:[] } 1280 ,height:{ window:[],layer:[] } 1281 ,top:{ window:[],layer:[] } 1282 ,left:{ window:[],layer:[] } 1283 ,order:0 // z-indexì© ìì°¨ì 1284 ,view:"normal" // ì¼ë° : normal or ê´ë¦¬ì : manager 1285 } 1286 ,isMobileMode:false 1287 } 1288 1289 /** 1290 * ë°°ë í¨ê³¼ 1291 * íê·¸ ìì± ì::: bannerpop.banner(".banner_event_box"); 1292 <div class="boder_box banner_event_box" data-type="slide" data-idxno="3" data-speed="0.3"> 1293 <div class="boder_box beb_box"> 1294 <ul class="no_type beb_ul"> 1295 <li class="beb_li" data-delay="1"><a href=""><img src="http://sample.ndsoftnews.com/template_sian/download.php?idxno=856&file_extension=jpg&filename=Untitled-1.jpg" alt="ë°°ë : ì 목" /></a></li> 1296 <li class="beb_li" data-delay="1"><a href=""><img src="http://sample.ndsoftnews.com/template_sian/download.php?idxno=854&file_extension=jpg&filename=250%B0%E6%B3%B2%B5%B5%B9%CE%BD%C5%B9%AE.jpg" alt="ë°°ë : ì 목" /></a></li> 1297 <li class="beb_li" data-delay="1"><a href=""><img src="http://sample.ndsoftnews.com/template_sian/download.php?idxno=846&file_extension=jpg&filename=330%C6%F7%C5%E4.jpg" alt="ë°°ë : ì 목" /></a></li> 1298 <li class="beb_li" data-delay="1"><a href=""><img src="http://sample.ndsoftnews.com/template_sian/download.php?idxno=848&file_extension=jpg&filename=675_weeklyjournal.jpg" alt="ë°°ë : ì 목" /></a></li> 1299 <li class="beb_li" data-delay="5"><iframe width="640" height="360" src="http://www.youtube.com/embed/dykTgBpgbVs?feature=player_detailpage" frameborder="0" allowfullscreen></iframe></li> 1300 </ul> 1301 </div> 1302 <div class="beb_buttons"> 1303 <button type="button" class="beb_btns beb_btn_prev">ë¤ë¡</button> 1304 <button type="button" class="beb_btns beb_btn_stop">ë©ì¶¤</button> 1305 <button type="button" class="beb_btns beb_btn_next">ìì¼ë¡</button>
1306 </div> 1307 </div> 1308 */ 1309 ,effect:function() 1310 { 1311 var savePrefix = "banner_order_"; 1312 1313 // ë°°ë ëì´ 1314 function setSizeInfo($this){ 1315 var idxno = $this.attr("data-idxno") 1316 ,$ul = $this.find(".beb_ul") 1317 ,$li = $ul.find(".beb_li") 1318 ,boxWidth = $this.innerWidth()||$this.closest("#float_side_box").width() // ì ì¬ì´ëì ë°°ëì¼ê²½ì° ì¬ì¸¡ì 1319 ,liCount = $li.length||0; 1320 1321 // ê´ë¦¬ì íì´ì§ê° ìëë ì¤ì ë ¸ì¶ì¤ì¸ ê²ë§ ì°¾ì 1322 //if(ADM_DOMAIN.indexOf(location.host)<0){ 1323 $.each($li,function(){ 1324 var $this=$(this), len=$this.find(".banner_box").length; 1325 if(!len) $this.remove(); 1326 }); 1327 $li = $ul.find(".beb_li"); 1328 liCount = $li.length||0; 1329 //} 1330 1331 // ë¶ëª¨ë°ì¤ 기ì¤ì¼ë¡ ul ìµë ëì´ ì§ì 1332 $ul.width(boxWidth*liCount); 1333 1334 // ë°°ëë§ë¤ ëì´ê° ë¤ë¥¼ì ìì¼ë ë¶ëª¨ë°ì¤ ëì´ê¸°ì¤ì¼ë¡í¨ 1335 $li.width(boxWidth); 1336 1337 return { 1338 idxno : idxno 1339 ,$ul : $ul 1340 ,$li : $li 1341 ,boxWidth : boxWidth 1342 ,liCount : liCount 1343 }; 1344 } 1345 1346 return { 1347 // ììëë¡ íëì ë°°ëë§ ë³´ì 1348 order:function(){ 1349 var _this = this 1350 ,$this = $(_this) 1351 ,$info = setSizeInfo($this) 1352 ,idxno = $info.idxno 1353 ,$li =$info.$li 1354 ,liCount = $info.liCount-1 1355 ,saveKey = savePrefix+idxno 1356 ,order = Number(localStorage.getItem(saveKey))||0; 1357 1358 // ëë¤ ì íëê²ë§ ë³´ì, ë²í¼ ìì° 1359 $li.css("display","list-item").not(":eq("+order+")").css("display","none"); 1360 1361 localStorage.setItem(saveKey, (order>=liCount ? 0 : order+1)); 1362 } 1363 1364 // random banner 1365 ,random:function(){ 1366 var _this = this 1367 ,$this = $(_this) 1368 ,$info = setSizeInfo($this) 1369 ,$li =$info.$li 1370 ,liCount = $info.liCount 1371 ,random = Math.floor(Math.random()*liCount); 1372 1373 // ëë¤ ì íëê²ë§ ë³´ì, ë²í¼ ìì° 1374 $li.css("display","list-item").not(":eq("+random+")").css("display","none"); 1375 } 1376 1377 // random ë°°ë ì íí ì¬ë¼ì´ë 1378 ,randomSlide:function(){ 1379 bannerpop.effect()['slide'].call(this, true); 1380 } 1381 1382 // slide banner 1383 // rand true or false 1384 ,slide:function(rand){ 1385 var _this = this 1386 ,$this = $(_this) 1387 ,$info = setSizeInfo($this) 1388 ,$ul = $info.$ul 1389 ,$li =$info.$li.css("display","list-item") 1390 ,$btnBox = $this.find(".beb_buttons") 1391 ,$btnStop = $btnBox.find(".beb_btn_stop") 1392 ,$btnCurrent = null // íì¬ ì íë ë²í¼ prev,next,play,stop of buttons 1393 ,speed = Number(_this.getAttribute("data-speed"))||.3 1394 ,delayInfo = $li.map(function(){ return Number(this.getAttribute("data-delay"))||5; }).get() 1395 ,boxWidth =$info.boxWidth 1396 ,liCount = $info.liCount 1397 ,count = (rand===true?Math.floor(Math.random()*(liCount)):-1) // ì²ìë¶í° +1 íê³ ììí기ì -1ì´ê¸°ê°-randomì¼ëë ë°°ëìì¤ 1ê° 1398 ,delay = null // ë©ì¶°ìë ìê°(ì´) 1399 ,left = boxWidth // ìì§ì´ë ê°ê²© 1400 ,si = null // setInterval ë³ì : animate completeìì delayë¡ í´ê²°íë ¤ íëë° ëê° ì ìí림 1401 ,tmpDelay = null // next, prev ì delay ìì´ ëê¹ 1402 ,firstBtnClicked = 0; // prev,nextë¡ ì´ëíëê° - rotateìì ëíë² +,- í기ì ì²ìë§ ì¤íëì´ì¼ í¨ 1403 1404 /**** function //s ****/ 1405 /* 1406 ë¤ì ë°°ë 1407 @params 1408 loop : ë°ë³µë ê²ì¸ê° 1409 mode : + or - 1410 */ 1411 function rotate(loop, mode){ 1412 if(!mode) mode="+"; 1413 if(mode==="+") count++; 1414 else count--; 1415 1416 if(count>=liCount || count<=0) count = 0; // ì§ì°ìê° ë´ì ë°°ì´ì°¾ê¸° key 1417 var front = count+1; // ì§ì°í ìì§ì¬ì¼ íë 거리 미리 ë´ìë 1418 if(count>=(liCount-1)) front = 0; 1419 left = boxWidth*front*-1;
1420 delay = tmpDelay===null?delayInfo[count]:tmpDelay; 1421 1422 si = setTimeout(function(){ 1423 $ul.animate({ marginLeft:left } 1424 ,speed*1000, 1425 function(){ 1426 if(loop===false) $btnCurrent.prop("disabled", false); 1427 tmpDelay = null; 1428 });//.delay(delay*1000); 1429 if(loop!==false) rotate(); 1430 },delay*1000); 1431 } 1432 1433 // stop 1434 function stop(){ 1435 firstBtnClicked++; 1436 1437 //$ul.stop(true, false); 1438 clearTimeout(si); 1439 tmpDelay=null; 1440 $btnStop.addClass("beb_btn_start").text("play"); 1441 } 1442 1443 // restart 1444 function start(){ 1445 firstBtnClicked = 0; 1446 1447 count--; 1448 if(count<=0) count=0; 1449 1450 tmpDelay=null; 1451 rotate(); 1452 1453 $btnStop.removeClass("beb_btn_start").text("ë©ì¶¤"); 1454 } 1455 1456 // ì´ì 1457 function prev(){ 1458 stop(); 1459 1460 if(firstBtnClicked===1) count--; // ì²ìë§ ì´ë¯¸ ì¦ê°ëê°ì ê°ììí´ 1461 if(count<=0) count=liCount; 1462 1463 tmpDelay=0; 1464 rotate(false,"-"); 1465 1466 $btnCurrent.prop("disabled", true); 1467 } 1468 1469 // ì´í 1470 function next(){ 1471 stop(); 1472 1473 if(firstBtnClicked===1) count--; 1474 if(count>=liCount) count=0; 1475 1476 tmpDelay=0; 1477 rotate(false); 1478 1479 $btnCurrent.prop("disabled", true); 1480 } 1481 /**** function //e ****/ 1482 1483 // ì²ì ë°°ë를 ë³´ì´ì§ ìëë¤ë ê²ì ëë¤ ë°°ëì ì¬ë¼ì´ëë¼ë ê²-ì²ìë³´ì¼ë°°ë ì¤ì 1484 if(count>=0 && rand===true){ 1485 var _boxWidth = boxWidth*(count>=liCount?liCount-1:count)*-1; 1486 count--; 1487 $ul.css("margin-left",_boxWidth+"px"); 1488 } 1489 1490 // ì¤í 1491 rotate(); 1492 1493 // ë²í¼ë³´ì 1494 $btnBox/*.css("display","block")*/.find(".beb_btns").unbind("click") 1495 .click(function(){ 1496 var $this = $(this); 1497 1498 $btnCurrent = $this; 1499 if($this.is(".beb_btn_prev")) prev(); 1500 else if($this.is(".beb_btn_next")) next(); 1501 else if($this.is(".beb_btn_stop")){ 1502 if($this.is(".beb_btn_start")) start(); 1503 else stop(); 1504 } 1505 }); 1506 1507 // mouseover event 1508 $ul.on(bannerpop.vars.isMobileMode?{touchstart:stop,touchend:start}:{mouseenter:stop,mouseleave:start}); 1509 } 1510 }; 1511 } 1512 1513 // ë°°ëí¸ì¶ 1514 ,banner:function(target) 1515 { 1516 var parents = this 1517 ,$target = !!target.jquery?target:$(target); 1518 1519 // mobile or pc mode? 1520 try{ bannerpop.vars.isMobileMode=document.querySelector("#user-wrap").className.indexOf("mobile")>=0||false }catch(e){ } 1521 1522 //console.log($target); 1523 $.each($target, function(i, ele){ 1524 var type = ele.getAttribute("data-type")||"random"; 1525 parents.effect()[type].call(this); 1526 }); 1527 } 1528 1529 ,getCookie:function(name) 1530 { /* 1531 var cookie = document.cookie; 1532 if(cookie.indexOf(name)<0) return ""; 1533 1534 var regexp = new RegExp("^(.*)"+name+"=(.*?);(.*)$","g"); 1535 return cookie.replace(regexp,"$2").replace(/^\s+|\s+$/g,""); 1536 */ 1537 name+="="; 1538 var ca = document.cookie.split(';'); 1539 for(var i=0; i<ca.length; i++) { 1540 var c = ca[i]; 1541 while (c.charAt(0)==' ') c = c.substring(1); 1542 if (c.indexOf(name) == 0) return c.substring(name.length,c.length); 1543 } 1544 return ""; 1545 } 1546 1547 ,setCookie:function(name, value, days, domain) 1548 { 1549 var expires = ""; 1550 if(days){ 1551 var date = new Date(); 1552 date.setTime(date.getTime()+(days*24*60*60*1000)); 1553 expires = "; expires="+date.toGMTString(); 1554 } 1555 1556 /* 1557 var dm=SITE_DOMAIN.replace('http://',''); 1558 dm=dm.replace('https://',''); 1559 if(!domain) domain="." + dm; 1560 */ 1561 1562 if(!domain) domain='.'+SITE_DOMAIN.replace(/^http(s)?:\/\//i,'').replace(/^(www|cms|slv|cdn|m)\./i,''); 1563 1564 document.cookie = name+"="+value+expires+"; path=/; " + (domain?"domain="+domain+";":""); 1565 } 1566 1567 // urlì arrayë¡ 1568 ,linkToJson:function(link) 1569 { 1570 if(!link) return false; 1571 1572 var json = {} 1573 ,tmp = link.replace(/^\/\?/,"").split("&"); 1574 1575 if(tmp.length<=0 || !tmp) return false; 1576 for(var i in tmp){ 1577 var param = tmp[i].split("=") 1578 ,key = param[0] 1579 ,value = param[1]; 1580 1581 json[key] = value; 1582 } 1583 return json; 1584 } 1585 1586 // ë°°ë append 1587 ,append:function() 1588 { 1589 var id = ___BANNER 1590 ,status = bannerStatus 1591 ,time = ___currentTime 1592 ,sTime = startTime 1593 ,eTime = endTime 1594 ,content = decodeURIComponent(bannerContent) 1595 ,title = typeof bannerTitle == "undefined" ? "":decodeURIComponent(bannerTitle) 1596 ,$target = $("#"+id) 1597 ,voteUse = typeof bannerVoteUse == "undefined" ? "N":bannerVoteUse 1598 ,explain = ''; 1599 //,explain = "\n<br />"+util.timestampToDatetime(sTime).strDateTime.substring(0,16)+"~"+util.timestampToDatetime(eTime).strDateTime.substring(0,16); 1600 1601 1602 if(!id || $target.length<=0 || $target.attr("data-append")=="true") return false; // ê°ì²´ê° ìê±°ë ììì ,ì´ë¯¸ ì¶ê°ëìë¤ë©´ ì¤ë¨ 1603 1604 // ìì ,ì¢ ë£ ë°°ë 1605 else if(sTime > time || time > eTime || status=="0"){ 1606 var adminPageBool = (location.href.indexOf('/edit/adminSection.html') < 0)? false:true; 1607 if(!adminPageBool) { 1608 if(!($('body').hasClass('ndip_user_body_view') && voteUse == 'Y' && status == "0")) { 1609 return false; // ì¢ ë£ ë©ìì§ ìëì°ê¸° 1610 } 1611 } 1612 var voteAdcClass = ""; 1613 var adcMsg="" 1614 ,adcClass=""; 1615 if(sTime > time && status!="0"){ 1616 adcMsg = 'ë ¸ì¶ìì ë°°ë'; 1617 adcClass = "banner-later"; 1618 }else if(time > eTime || status=="0"){ 1619 adcMsg = 'ì¢ ë£ë ë°°ë'; 1620 adcClass = "banner-finish"; 1621 if(voteUse == "Y") voteAdcClass = "vote_banner_box_finish"; 1622 } 1623 1624 if(!adminPageBool) $target.attr("data-append","true").after('<div class="ad-finished '+voteAdcClass+'"></div>'); // ì ê±°ë°°ë ì¢ ë£ DIV 1625 else $target.attr("data-append","true").after('<div class="ad-finished"><span class="'+adcClass+'"><i class="icon-clock-o"></i> '+adcMsg+' "'+title+'"</span>'+explain+'</div>');
1625 // ì¢ ë£ ë©ìì§ ëì°ê³ ì¢ ë£ 1626 bannerTitle="";//ì´ê¸°í 1627 1628 return false; 1629 } 1630 1631 // cdn host ë°ë¼ê°ê² 1632 var _uri=$target[0].src 1633 ,_host=((typeof URL === "function")?new URL(_uri).origin:_uri.match(/^(http.*)\/bannerpop\//)[1]||""); 1634 if(_host) content=content.replace('<img src="/bannerpop/', '<img src="'+(_host.search(/^http(s)?:\/\/cms\./)<0?_host:SITE_DOMAIN)+'/bannerpop/'); 1635 1636 $target.attr("data-append","true").after(content); // ì¶ê° ëìì¼ë©´ data-append íê·¸ ëê¹ 1637 } 1638 1639 /****** íì ëì°ê¸° 1640 var ___popup = [{},...]; 1641 1642 * json ë´ì© * 1643 idxno - íì idxno ê³ ì ë²í¸ 1644 title - íì ì ì 목 1645 start - íì ììì¼ì 1646 end - íì ì¢ ë£ì¼ì 1647 status - ì§íìí (1=ì§í, 0=ì¢ ë£) 1648 popup_type - íì íí (layer=ë ì´ì´, window=ìëì°) 1649 popup_size - auto (ì¬ì©ìí¨) 1650 popup_width - íì ì°½í¬ê¸°(ê°ë¡) 1651 popup_height - íì ì°½í¬ê¸°(ì¸ë¡) 1652 position - auto (ì¬ì©ìí¨) 1653 x_position - ì°½ì x ìì¹ 1654 y_position - ì°½ì y ìì¹ 1655 apply_page - ì ì©íì´ì§ (main, section, list, view ê°ì´ ì ë ¥ ëì´ìì , phpìì íì´ì§ 구ë¶í´ì jsonì¼ë¡ ë§ë¤ì´ ì¤ëë¤.) 1656 bottom_close - íë¨íì ì°½ë«ê¸° ì¶ë ¥ì¬ë¶ (Y=ì¶ë ¥, N=ì¶ë ¥ìí¨) 1657 bottom_close_expire_ck - **ëì ì´ì§ì기 (none=ì¬ì©ìí¨, day=í루ëì ì´ì§ì기, days=ëªì¼ëì ì´ì§ì기) 1658 bottom_close_expire - ëªì¼ì¸ì§ 1659 layer_border - ë ì´ì´ íì ì¸ ê²½ì° ì¸ê³½ì (Y=ì¬ì©í¨, N=ì¬ì©ìí¨) 1660 layer_move - ë ì´ì´ íì ì¸ ê²½ì° ëëê·¸ ê°ë¥ (Y=ì¬ì©í¨, N=ì¬ì©ìí¨) 1661 layer_scroll - ë ì´ì´ íì ì¸ ê²½ì° ì¤í¬ë¡¤ ë°ë¼ë¤ë기 (Y=ì¬ì©í¨, N=ì¬ì©ìí¨) 1662 layer_close - ë ì´ì´ íì ì¸ ê²½ì° ë«ê¸° ìì´ì½ (Y=ì¬ì©í¨, N=ì¬ì©ìí¨) 1663 layer_close_icon - ë ì´ì´ íì ì¸ ê²½ì° ë«ê¸° ìì´ì½ ì í 1664 layer_close_position - ë ì´ì´ íì ì¸ ê²½ì° ë«ê¸° ìì´ì½ ì¶ë ¥ ìì¹ (TL-ì/ì¢, TR-ì/ì°, BL-í/ì¢, BR-í/ì°) 1665 window_scroll - ìëì° íì ì¸ ê²½ì° ì¤í¬ë¡¤ íì±í (Y=ì¬ì©í¨, N=ì¬ì©ìí¨) 1666 content - ì¶ë ¥ HTML ë´ì© 1667 *****/ 1668 ,float:function(j) 1669 { 1670 // json ê° 1671 var current = ___currentTime 1672 ,start = Number(j.start)||0 1673 ,end = Number(j.end)||(new Date().getTime()+100) // ì¢ ë£ì¼ì´ 기ì ëì§ ììë¤ë©´, íì¬ë³´ë¤ 100ì©ëí´ì ê³ì ë림 1674 ,status = j.status||"0"; 1675 1676 if(this.vars.popup.view!="manager" && (status=="0" || current < start || (current > end && end!==0))) return false; // ì¢ ë£ or 기ê°ì´ ìëë¼ë©´ íµê³¼ 1677 1678 var parents = this 1679 ,idxno = j.idxno||"0" 1680 ,oriTitle = j.title||"" 1681 ,title = decodeURIComponent(j.title)||"" 1682 ,popupType = j.popup_type||"window" 1683 ,popupSize = j.popup_size||"auto" 1684 ,popupWidth = Number(j.popup_width)||0 1685 ,popupHeight = (Number(j.popup_height)||0) + 32 1686 ,position = j.position||"auto" 1687 ,xPosition = Number(j.x_position)||0 1688 ,yPosition = Number(j.y_position)||0 1689 ,applyPage = j.apply_page||"main" 1690 ,bottomClose = j.bottom_close||"N" 1691 ,bottomCloseExpireCk = j.bottom_close_expire_ck||"none" 1692 ,bottomCloseExpire = j.bottom_close_expire||1 1693 ,layerBorder = j.layer_border||"N" 1694 ,layerMove = j.layer_move||"N" 1695 ,layerScroll = j.layer_scroll||"N" 1696 ,layerClose = j.layer_close||"N" 1697 ,layerCloseIcon = j.layer_close_icon||"" 1698 ,layerClosePosition = j.layer_close_position||"BR" 1699 ,windowScroll = j.window_scroll||"Y" 1700 ,content = decodeURIComponent(j.content)||"" 1701 ,popupUrl = j.popup_url||""// + (parents.vars.popup.view=="manager"?"?edit_mode=preview":"")||"" 1702 ,top = 0 1703 ,left = 0 1704 ,popname = parents.vars.popup.popname+idxno 1705 ,_type = popupType; // default: ê°ìëì - íì ê³¼ ë ì´ì´ê° ìì¹ê°ì ê³µì íì¬ ì°¨ë¡ë¡ ëì¸ë ¤ë©´ "window" or ê³µì íì§ ìê³ ê°ì ëì¸ë ¤ë©´ popupType; 1706 1707 var type = { 1708 calcPosition:function(){ 1709 // x,y ê° 0ì¼ëë autoë¡ ê°ì£¼ 1710 if((xPosition===0 && yPosition===0)/* || position=="auto"*/){ 1711 var maxHeight = parents.arrayMaxMin(parents.vars.popup.height[_type],"max") 1712 ,maxTop = parents.arrayMaxMin(parents.vars.popup.top[_type],"max") 1713 ,initLeft = popupType=="window"?0:parents.vars.popup.bodyLeft 1714 ,prevWidth = parents.vars.popup.width[_type][parents.vars.popup.width[_type].length-1]||0 1715 ,prevLeft = parents.vars.popup.left[_type][parents.vars.popup.left[_type].length-1]||initLeft; // ë°ë¡ ì´ì íì ëì´ë¥¼ leftê°ì¼ë¡ ì í¨-window:0, layer:contentì left 1716 1717 //console.log(popupWidth); 1718 left = prevLeft+prevWidth; 1719 1720 // íì´ì§ ëì´ë³´ë¤ ì리ì¡ì leftê°ì´ í¬ë¤ë©´ íë©´ì íë¨ê³ ë´ë¦¼ 1721 if(left>parents.vars.popup[popupType=="window"?"screenWidth":"bodyWidth"]){ 1722 top += maxHeight; 1723 left = initLeft; 1724 1725 // ë¤ì ë¨ê³ì´ëê¹ ì´ê¸°í í¨ 1726 parents.vars.popup.width[_type] = []; 1727 parents.vars.popup.height[_type] = []; 1728 parents.vars.popup.top[_type] = []; 1729 parents.vars.popup.left[_type] = []; 1730 }else{ 1731 top = (maxTop||0); 1732 } 1733 1734 // ë³íëê° ë°°ì´ì ë£ê¸° ìí´ ì¡°ì 1735 xPosition = left; 1736 yPosition = top; 1737 1738 // ë³ìì ë´ì 1739 parents.vars.popup.width[_type].push(popupWidth||0); 1740 parents.vars.popup.height[_type].push(popupHeight||0); 1741 parents.vars.popup.top[_type].push(yPosition||0); 1742 parents.vars.popup.left[_type].push(xPosition||0); 1743 1744 }else{ 1745 top = yPosition; 1746 left = xPosition; 1747 } 1748 } 1749 1750 // ê´ë¦¬ì 미리보기ì ì¤ìì 1751 ,setPositionCenter:function(){ 1752 var _width = (document.body.clientWidth/2)-(popupWidth/2) 1753 ,_scrollTop = document.body.scrollTop; 1754 1755 top = _scrollTop + 50; 1756 left = _width; 1757 } 1758 1759 // ëì¸ íì´ì§ applyPage 1760 ,isApplyPage:function() 1761 { 1762 // ê´ë¦¬ì íµê³¼ 1763 if(parents.vars.popup.view=="manager") return true; 1764 /* 1765 var params = bannerpop.linkToJson(location.search.replace("?","")) 1766 ,mod = params.mod||"" 1767 ,act = params.act||"" 1768 ,section = params.section||""; 1769 1770 // ë©ì¸ 1771 if(((mod=="main" && act=="index" && !section) || (!mod && !act && !section)) && applyPage.indexOf("main")>=0) return true; 1772 // ì¹ì 1773 else if(mod=="main" && act=="index" && section && applyPage.indexOf("section")>=0) return true; 1774 // ê¸°ì¬ ë¦¬ì¤í¸ 1775 else if(mod=="news" && act=="articleList" && applyPage.indexOf("list")>=0) return true; 1776 // 기ì¬ë·° 1777 else if(mod=="news" && act=="articleView" && applyPage.indexOf("view")>=0) return true; 1778 */ 1779 } 1780 1781 ,window:function(){ 1782 //if(this.isApplyPage()!==true) return false; 1783 1784 this.calcPosition(); // ìì¹ ê³ì° 1785 var winpopupUrl = '/bannerpop/popup.html?win_popup_idxno=' + idxno; 1786 window.open(winpopupUrl, popname, "width="+popupWidth+",height="+popupHeight+",scrollbars="+(windowScroll=="Y"?"yes":"no")+",resizable=yes,top="+top+",left="+left); 1787 } 1788 1789 ,layer:function(){ 1790 //if(this.isApplyPage()!==true) return false; 1791 1792 this.calcPosition(); // ìì¹ ê³ì° 1793 1794 var $content = $(content); 1795 1796 $content.attr({"id":popname}) 1797 .css({"top":top+"px","left":left+"px","max-width":popupWidth+"px","min-height":popupHeight+"px","z-index":"100" + parents.vars.popup.order}).addClass("layer_box"+(layerScroll=="Y"?" layer_box_fixed":"")+(layerBorder=="Y"?" layer_box_border":"")) 1798 .find(".popup_close_box").addClass("layer_close_box"); 1799 1800 // ëëê·¸ ê°ë¥ 1801 if(layerMove=="Y") $content.addClass("layer_box_cursor_move").draggable(); 1802 1803 // ì°½ë«ê¸°-icon ë«ê¸° ë²í¼ì ë³ê°ë¤ 1804 //if(bottomClose=="Y"){ 1805 var $btnClose = $content.find(".popup_close, .popup_close_map, .popup_icon_close"); 1806 $btnClose.each(function(){ 1807 var _$this = $(this); 1808 //if(_$this.is(".popup_close") && bottomClose=="Y") _$this.text('ì°½ë«ê¸°'); 1809 1810 if(_$this.is(".popup_icon_close")) { 1811 if(layerClosePosition == 'BL' || layerClosePosition == 'BR') { 1812 1813 if($content.find(".popup_close, .popup_close_map").length>0) { 1814 _$this.css('top',Number(j.popup_height)-40+'px'); 1815 } 1816 } 1817 1818 _$this.addClass("layer_position_"+layerClosePosition); 1819 } 1820 }); 1821 1822 $btnClose.click(function(){ 1823 parents.evtClose(popupType, idxno); 1824 return false; 1825 }); 1826 //} 1827 1828 // ì´ë¯¸ì§ë´ ë§í¬ê° ì°½ë«ê¸° ë¼ë©´ 1829 //$content.find("a[href*='javascript:window.close()']").click(function(){ 1830 $content.find("[href*='javascript:window.close()']").click(function(){ 1831 parents.evtClose(popupType, idxno); 1832 return false; 1833 }); 1834 1835 // í루, ëªì¼ëì ì´ì§ ì기 1836 parents.daysNotOpen(bottomCloseExpireCk, bottomCloseExpire, $content.find(".popup-days, .popup_day_close_map"), j); 1837 1838 // ê´ë¦¬ì 미리보기ì ì¤ìì 1839 if(parents.vars.popup.view=="manager"){ 1840 $content.appendTo(document.body); 1841 this.setPositionCenter(); 1842 $content.removeClass("layer_box_fixed").css({"top":top+"px", "left"
1842:left+"px"}); 1843 }else{ 1844 $content.appendTo($("#layer-popups")); 1845 } 1846 1847 // ì´ë¯¸ì§ë§µ 리ì¬ì´ì¦ 1848 $('img[usemap]', $content).rwdImageMaps(); 1849 } 1850 }; 1851 1852 type[popupType](); 1853 } 1854 1855 // íì ëì°ê¸° 1856 ,popup:function() 1857 { 1858 //try{ 1859 var parents = this; 1860 $(window).on("load", function(){ 1861 if(!window.___popup) return ; 1862 if($.isArray(___popup)===false && ___popup.length>0) return ; 1863 if(!window.___currentTime) ___currentTime = Math.floor(new Date().getTime()/1000);// ìê°ì´ ì¤ì ëì§ ììë¤ë©´ js ìê°ì¼ë¡ ì¤ì í¨ 1864 1865 var $content = $("#layer-popups"); 1866 1867 if($content.length<=0) return false; 1868 parents.vars.popup.bodyWidth = $content.innerWidth(); 1869 parents.vars.popup.bodyLeft = $content.position().left; 1870 parents.vars.popup.screenWidth = window.screen.width; 1871 for(var i=0,cnt=___popup.length; i<cnt; i++){ 1872 // ì¿ í¤ì¸ì§ íë¨í ì´ê¸° 1873 var coo = ""; 1874 coo = bannerpop.getCookie(parents.vars.popup.popname+___popup[i].idxno) 1875 1876 if(!coo){ 1877 parents.vars.popup.order++; 1878 parents.float(___popup[i]); 1879 } 1880 } 1881 }); 1882 //}catch(e){} 1883 } 1884 1885 // ì°½ë«ê¸° 1886 ,evtClose:function(mode, idxno) 1887 { 1888 if(mode=="layer"){ 1889 var layerId = bannerpop.vars.popup.popname+idxno; 1890 1891 $("#"+layerId).fadeOut("fast", function(){ 1892 $(this).remove(); 1893 }); 1894 }else window.close(); 1895 } 1896 1897 // cookie 1898 ,evtCookieClose:function(name, days) 1899 { 1900 bannerpop.setCookie(name, "popup", days); 1901 } 1902 1903 // í루,ëªì¼ëì ì´ì§ ì기 1904 ,daysNotOpen:function(expire, period, $btn, p) 1905 { 1906 var parents = this 1907 ,idxno = p.idxno 1908 ,isClickedMap = false; 1909 1910 if(expire!="none"){ 1911 $btn.each(function(i,v) { 1912 var $thisBtn = $(this); 1913 if($thisBtn.is(".popup-days")){ 1914 // í루ëì 1915 if(expire=="day"){ 1916 $thisBtn.click(function(){ 1917 parents.evtCookieClose(parents.vars.popup.popname+idxno, "1"); 1918 parents.evtClose(p.popup_type, p.idxno); 1919 return false; 1920 }) 1921 // ë«ê¸° íê·¸ ìì ìê²ë ìë ê±° ì°¾ì ë«ê¸° í ì¤í¸ ë£ì´ì£¼ê¸° 1922 .not(":has(*)").html('<a href="#close-to-layer">í루ëì ë³´ì§ ì기</a>'); 1923 } 1924 // ëªì¼ëì daySubfix 1925 else if(expire=="days"){ 1926 var select = '<a href="#link">' 1927 +'<label class="show-for-sr" for="popDays"></label>' 1928 +'<select name="popDays" id="popDays" class="tiny" title="기ê°">' 1929 +' <option value="1">í루</option>' 1930 +' <option value="2">2ì¼</option>' 1931 +' <option value="3">3ì¼</option>' 1932 +' <option value="4">4ì¼</option>' 1933 +' <option value="5">5ì¼</option>' 1934 +' <option value="6">6ì¼</option>' 1935 +' <option value="7">7ì¼</option>' 1936 +'</select> ëì ì´ì§ì기' 1937 +'</a>'; 1938 var html = '<a href="#link">' 1939 + (period>1 ? 'ëªì¼ëì ë³´ì§ ì기' : 'í루ëì ë³´ì§ ì기') 1940 +'</a>'; 1941 //$btn.not(":has(*)").append(select).click(function(){ 1942 $thisBtn.append(html).click(function(){ 1943 var $this = $(this) 1944 //,days = $this.prev("select").val(); 1945 ,days = period; 1946 1947 parents.evtCookieClose(parents.vars.popup.popname+idxno, days); 1948 parents.evtClose(p.popup_type, p.idxno); 1949 return false; 1950 }); 1951 } 1952 }else{ 1953 // ì´ë¯¸ì§ë§µì¼ë, í루ëì ì´ì§ì기 1954 $thisBtn.click(function(){ 1955 parents.evtCookieClose(parents.vars.popup.popname+idxno, "1"); 1956 parents.evtClose(p.popup_type, p.idxno); 1957 return false; 1958 }); 1959 1960 isClickedMap = true; 1961 } 1962 }); 1963 } 1964 1965 // expire ê°ì´ë ê´ê³ìì´ ì´ë¯¸ì§ë§µì ì°¾ì ì²ë¦¬ 1966 if(isClickedMap===false && $btn.is(".popup_day_close_map")){ 1967 // ì´ë¯¸ì§ë§µì¼ë, í루ëì ì´ì§ì기 1968 $btn.click(function(){ 1969 parents.evtCookieClose(parents.vars.popup.popname+idxno, "1"); 1970 parents.evtClose(p.popup_type, p.idxno); 1971 return false; 1972 }); 1973 } 1974 } 1975 1976 // window popup control 1977 ,popupControl:function() 1978 { 1979 if(!___popup) return ; 1980 if((typeof ___popup)!=="object") return ; 1981 1982 var parents = this 1983 ,p = ___popup 1984 ,title = decodeURIComponent(p.title)||"" 1985 ,popupType = p.popup_type||"window" 1986 ,bottomClose = p.bottom_close||"Y" 1987 ,bottomCloseExpireCk = p.bottom_close_expire_ck||"day" // : day,days,none 1988 ,bottomCloseExpire = p.bottom_close_expire||1 // : ëªì¼ 1989 ,$btnClose = $(".popup_close, .popup_close_map, .popup_icon_close") 1990 ,$btnDayClose = $(".popup-days, .popup_day_close_map"); 1991 1992 if(popupType!="window") return ; 1993 1994 // ìëì° ë° íì´í êµì²´ 1995 document.title = title; 1996 1997 // ì°½ë«ê¸° 1998 if(bottomClose=="Y"){ 1999 $btnClose.each(function(){ 2000 var _$this = $(this); 2001 //if(_$this.is(".popup_close")) _$this.text('ì°½ë«ê¸°'); 2002 }); 2003 2004 $btnClose.click(function(){ 2005 parents.evtClose(p.popup_type, p.idxno); 2006 return false; 2007 }); 2008 } 2009 2010 // í루, ëªì¼ëì ì´ì§ ì기 2011 this.daysNotOpen(bottomCloseExpireCk, bottomCloseExpire, $btnDayClose, p);
2012 2013 } 2014 2015 // array ìµê³ ê° 2016 ,arrayMaxMin:function(arr, mode) 2017 { 2018 if($.isArray(arr)===false) return false; 2019 2020 if(!mode) mode = "max"; 2021 arr.sort(function(a, b){ 2022 return b-a; 2023 }); 2024 return (mode=="max"?arr[0]:arr[arr.length-1])||0; 2025 } 2026 2027 // íµê³ ì ë리í±ì¤ ì´ë²¤í¸ ì°ê²° 2028 ,analytics:function(type, banner, agent) { 2029 if (!type||!banner||!agent) return; 2030 2031 switch (type) { 2032 case "view": 2033 agent.forEach(function(agt) { 2034 try{ 2035 if (agt=="ga" && typeof ga!="undefined") { 2036 ga('send', 'event', 'ë°°ëë·°', 'NDVIEWBANNER', banner); 2037 } 2038 if (agt=="gtag" && typeof gtag!="undefined") { 2039 gtag('event', 'NDVIEWBANNER', {'event_category': 'ë°°ëë·°', 'event_label': banner}); 2040 } 2041 if (agt=="gtm" && typeof dataLayer!="undefined") { 2042 dataLayer.push({'event':'NDVIEWBANNER','event_category':'ë°°ëë·°', 'event_label':banner}); 2043 } 2044 if (agt=="wcsnaver" && typeof wcs!="undefined") { 2045 wcs.event(banner, 'NDVIEWBANNER'); 2046 } 2047 } catch (e) {} 2048 }); 2049 break; 2050 2051 case "click": 2052 agent.forEach(function(agt) { 2053 try { 2054 if (agt=="ga" && typeof ga!="undefined") { 2055 ga('send', 'event', 'ë°°ëí´ë¦', 'NDCLICKBANNER', banner); 2056 } 2057 if (agt=="gtag" && typeof gtag!="undefined") { 2058 gtag('event', 'NDCLICKBANNER', {'event_category': 'ë°°ëí´ë¦', 'event_label': banner}); 2059 } 2060 if (agt=="gtm" && typeof dataLayer!="undefined") { 2061 dataLayer.push({'event':'NDCLICKBANNER','event_category':'ë°°ëí´ë¦', 'event_label':banner}); 2062 } 2063 if (agt=="wcsnaver" && typeof wcs!="undefined") { 2064 wcs.event(banner, 'NDCLICKBANNER'); 2065 } 2066 } catch(e) {} 2067 }); 2068 break; 2069 } 2070 2071 // Tip!! 2072 // ga('send', 'event', ì¹´í ê³ ë¦¬, ì¡ì , ë¼ë²¨) // êµ¬ê¸ ì ëë²ì¤ ì ë리í±ì¤ íê·¸ ì¬ì©ì (analytics.js) 2073 // gtag('event', event_name, {event_category, event_label}) // êµ¬ê¸ ê¸ë¡ë² ì¬ì´í¸ íê·¸ ì¬ì©ì (gtag.js) 2074 // dataLayer.push({var:value}); // êµ¬ê¸ íê·¸ ê´ë¦¬ì ë°ì´í° ìì ë³ì íìì (GA4 êµ¬ì± ì¬ì©) 2075 // wcs.event('ì´ë²¤í¸ì¹´í ê³ ë¦¬ëª ', 'ì´ë²¤í¸ëª ') // ë¤ì´ë² ì ë리í±ì¤ ì¬ì©ì 2076 } 2077 2078 ,isMobileDevice:function(){ 2079 return /(iPhone|iPod|IPad|Android|Blackberry|Opera Mini|Windows CE|Nokia|Sony|Samsung|LGTelecom|SKT|Mobile|Phone)/.test(navigator.userAgent); 2080 } 2081}; 2082 2083/****************************************************************************************************************** 2084* ë©í° 기ë¥ì± ë°°ë 2085* 2086* @update 2018/07/18 2087*/ 2088var bannerpopMulti = { 2089 // php ì ë¬ ë³ì 2090 vars:{ 2091 $banner_list:null, 2092 $edit_mode:"" 2093 } 2094 2095 // íì´ì§ ì´ê¸° ë¡ë 2096 ,init:function() { 2097 $('input[name="effect_type"]').on("click", function() { 2098 if ($(this).val()=='none') { 2099 $("#row_num").val(0).attr("disabled", true); 2100 $("#scroll_num").val(0).attr("disabled", true); 2101 } else { 2102 $("#row_num").removeAttr("disabled"); 2103 $("#scroll_num").removeAttr("disabled"); 2104 } 2105 }); 2106 2107 $('input[name="autoplay"]').on("click", function() { 2108 if ($(this).val()=='Y') { 2109 $("#autoplay_speed").removeAttr("disabled"); 2110 } else { 2111 $("#autoplay_speed").attr("disabled", true); 2112 } 2113 }); 2114 2115 $('#all-banner-list').on('click', function(e) { 2116 $this = $(this); 2117 href = $this.attr('href'); 2118 $("#edit-modal-iframe").attr("src", href); 2119 $('#edit-modal').foundation('open'); 2120 return false; 2121 }); 2122 2123 $('#banner-activity-box').sortable({ 2124 axis: '', 2125 update: function() { 2126 console.log($(this)); 2127 } 2128 }); 2129 2130 $('#edit-modal').on('open.zf.reveal', function(e){
2131 $('#for-loading').show(); 2132 }); 2133 2134 $('#edit-modal').on('closed.zf.reveal', function(e){ 2135 $("#edit-modal-iframe").attr("src", "about:blank").height('0px').closest('#activity-modal').css('height', '0px'); 2136 }); 2137 2138 $(document).on("click", '.trash', function() { 2139 var $this=$(this) 2140 ,$parent = $this.closest('.banner-activity-list'); 2141 $parent.fadeOut('fast', function(){ 2142 $parent.remove(); 2143 }); 2144 }); 2145 } 2146 2147 // ë°°ë ê°ì ¸ì¤ê¸° 2148 ,evtClickMultipleAdd:function() { 2149 var multi_idxno=window.parent.$('#all-banner-list').closest('div').attr('data-multi-idxno')||''; 2150 $('#activity-add-btn').on("click", function() { // #activity-add-btn 기ë¥ì±ë°°ë ë²í¼ í´ë¦ ì´ë²¤í¸ë¥¼ ì´ì© 2151 var $this=$(this); 2152 if($('.banner_element_ckecked').is(':checked') == false) { 2153 alert('ë°°ë를 ì íí´ì£¼ì¸ì.'); 2154 return false; 2155 }else{ 2156 var $checked=$(".banner_element_ckecked:checked") 2157 ,arr = new Array(); 2158 if($checked.length>0) { 2159 $.each($checked, function(idx, v) { 2160 arr.push(v.value); 2161 }); 2162 2163 var data = {mode:multi_idxno?'modify':'input', multi_idxno:multi_idxno, banner_idxno:arr}; 2164 data = JSON.stringify(data); 2165 //console.log(data); 2166 2167 $.ajax({
2168 url:"/bannerpop/activity_multi_act.php" 2169 ,type:'post' 2170 ,dataType:'json' 2171 ,contentType:'application/x-www-form-urlencoded; charset=utf-8' 2172 ,data:{post_data:data} 2173 ,success:function(json, result) { 2174 if(result == 'success') { 2175 if(json.response == 'ok') { 2176 var item = JSON.parse(json.data), 2177 $target = window.parent.$("#banner-activity-box"), 2178 $sample = window.parent.$("#sample"); 2179 bannerpopMulti.vars.$banner_list = item; 2180 bannerpopMulti.bannerCollocate($target, $sample); 2181 window.parent.$(".close-button").trigger("click"); 2182 }else{ 2183 return false; 2184 } 2185 }else return false; 2186 }, 2187 error:function(request,status,error){ 2188 alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); 2189 } 2190 }); 2191 } 2192 } 2193 }); 2194 } 2195 2196 // ë°°ë ë°°ì¹ í기 2197 ,bannerCollocate:function($targetArea, $sample) { 2198 if (!this.vars.$banner_list) return false; 2199 if (typeof $targetArea != "object" || typeof $sample != "object") return false; 2200 var item = this.vars.$banner_list; 2201 for (var i=0;i<item.length;i++) { 2202 var $areaBox = $targetArea, 2203 $clone = $sample.clone(), 2204 stateIcon = ""; 2205 if (typeof $clone == "object") { 2206 if (item[i].state=="previous") stateIcon = '<span class="label success tiny">ì§íì </span>'; 2207 else if (item[i].state=="proceeding") stateIcon = '<span class="label tiny">ì§íì¤</span>'; 2208 else stateIcon = '<span class="label secondary tiny">ì§íì¢ ë£</span>'; 2209 $clone.attr("data-banner-idxno", item[i].idxno); 2210 $clone.find(".banner-activity-list").attr("data-banner-idxno", item[i].idxno).end(). 2211 find(".dis-table-cell").append(item[i].banner).end(). 2212 find('input[name="banner_idxno[]"]').val(item[i].idxno).end(). 2213 find(".dis-status").empty().append(stateIcon).end(). 2214 find('input[name="delay[]"]').attr("id", "delay_"+item[i].idxno).attr("value", item[i].delay).end(). 2215 find('.input-group-label').attr("for", "delay_"+item[i].idxno); 2216 $areaBox.append($clone.html()); 2217 } 2218 } 2219 } 2220 2221 // ì íë ë°°ë íì 2222 ,selectBannerCheck:function() { 2223 var $areaBox = window.parent.$("#banner-activity-box"), 2224 $list = $areaBox.find('input[name="banner_idxno[]"]'), 2225 $bannerItems = $(".adccfg_list_items"), 2226 bannerList = [], 2227 i = 0; 2228 $list.each(function() { 2229 bannerList.push($(this).val()); 2230 }); 2231 //console.log(bannerList); 2232 2233 $bannerItems.each(function() { 2234 var $this = $(this), 2235 idxno = $this.attr("data-banner-idxno"); 2236 if ($.inArray(idxno, bannerList)!=-1) { 2237 $this.find(".ad-tile").append('<div class="content-inert"><button type="button" class="content-buttons display has-tip" title="ì½ì ëë°°ë" data-tooltip><i class="icon-tv"><span class="show-for-sr">ì½ì ëë°°ë</span></i></button></div>'); 2238 } 2239 }); 2240 } 2241 2242 // ë°°ë ë±ë¡í기 2243 ,valid_multi:function(form) { 2244 if(form.title.value == '') { 2245 alert('ì 목ì ì ë ¥íì¸ì.'); 2246 form.title.focus(); 2247 return false; 2248 } 2249 2250 if (form.column_num.value>9) { 2251 alert("ì´ìë 1~9ê¹ì§ë§ ì ë ¥í ì ììµëë¤."); 2252 form.column_num.focus(); 2253 return false; 2254 } 2255 2256 if (form.row_num.value>9) { 2257 alert("íìë 1~9ê¹ì§ë§ ì ë ¥í ì ììµëë¤."); 2258 form.row_num.focus(); 2259 return false; 2260 } 2261 2262 if (form.scroll_num.value>9) { 2263 alert("ì¤í¬ë¡¤ìë 1~9ê¹ì§ë§ ì ë ¥í ì ììµëë¤."); 2264 form.scroll_num.focus(); 2265 return false; 2266 } 2267 2268 if($('.banner-activity-list').length-1<=0) { 2269 alert('ë°°ë를 íë ì´ì ì¶ê°íì ì¼ í©ëë¤.'); 2270 return false; 2271 } 2272 2273 return true; 2274 } 2275 2276 // ë©í° 기ë¥ì± ë°°ë ì´ë²¤í¸ ë¡ë 2277 ,bannerLoad:function() { 2278 $('.banner-multi-box').each(function() { 2279 var $effectType = $(this).attr("data-effect-type"), 2280 $rowNum = $(this).attr("data-row-num")||1,
2281 $colNum = $(this).attr("data-column-num")||1, 2282 $scrollNum = $(this).attr("data-scroll-num")||1, 2283 $moveDisplay = $(this).attr("data-move-display")||'none', 2284 $autoplay = $(this).attr("data-autoplay")||'N', 2285 $autoplaySpeed = $(this).attr("data-autoplay-speed")||5, 2286 $speed = $(this).attr("data-speed")||300, 2287 $random = $(this).attr("data-random")||'N', 2288 $bannerMultiBoxHtml = $(this); 2289 2290 // ìì½ë°°ëì´ê±°ë ì¢ ë£ ë°°ëì¼ ê²½ì° ì ì¸ ì²ë¦¬. 2291 if(location.href.indexOf('/edit/adminSection.html')<0) { 2292 $(this).find(".slick-slide").each(function(){ 2293 if($(this).find('.banner_box').length<=0) { 2294 //$bannerMultiBoxHtml.find(".slick-slide").eq($(".slick-slide", $bannerMultiBoxHtml).index(this)).remove(); 2295 $(this).remove(); 2296 } 2297 }); 2298 } 2299 2300 if ($effectType!="none") { 2301 var totalSlide=$(this).find(".slick-slide").length||0, 2302 slideCount=$effectType=="horizon"?(totalSlide/Number($rowNum))||0:totalSlide, 2303 randomStart=Math.floor(Math.random()*slideCount); 2304 randomStart = ($random=="Y") ? randomStart : 0; 2305 2306 var slickParam = {}; 2307 slickParam.prevArrow = '<button type="button" class="roll-btns btn-prev"><i class="icon-angle-left-thin"><span class="show-for-sr">prev</span></i></button>'; // ì´ì ë²í¼ 2308 slickParam.nextArrow = '<button type="button" class="roll-btns btn-next"><i class="icon-angle-right-thin"><span class="show-for-sr">next</span></i></button>'; // ë¤ìë²í¼ 2309 slickParam.infinite = true; // 무í ë기기 2310 slickParam.draggable = false; // ì ì¤ì²(모ë°ì¼ì©) 2311 2312 switch ($effectType) { 2313 case "vertical": 2314 slickParam.slidesToShow = parseInt($rowNum,10); 2315 slickParam.vertical = true; 2316 slickParam.verticalSwiping = true; 2317 if ($random=="Y"&&totalSlide>parseInt($rowNum,10)) slickParam.initialSlide = randomStart; 2318 break; 2319 case "horizon": 2320 default: 2321 slickParam.slidesToShow = parseInt($colNum,10); 2322 if (parseInt($rowNum,10)>1) slickParam.rows = parseInt($rowNum,10); 2323 if ($random=="Y") slickParam.initialSlide = randomStart; 2324 break; 2325 } 2326 2327 slickParam.slidesToScroll = parseInt($scrollNum,10); 2328 slickParam.arrows = ($moveDisplay=="arrow"&&bannerpopMulti.vars.$edit_mode!="delete")?true:false; 2329 slickParam.dots = ($moveDisplay=="dot"&&bannerpopMulti.vars.$edit_mode!="delete")?true:false; 2330 slickParam.dotsClass = "auto-pager"; 2331 slickParam.autoplay = ($autoplay== "Y")?true:false; 2332 slickParam.autoplaySpeed = ($autoplay== "Y")?parseInt($autoplaySpeed,10)*1000:0; 2333 slickParam.speed = parseInt($speed, 10); 2334 slickParam.centerMode = false; 2335 slickParam.variableWidth = false; 2336 slickParam.focusOnSelect = true; 2337 //console.log(slickParam); 2338 2339 $(this).slick(slickParam); 2340 } else { 2341 if ($random=="Y") shuffle($(this)); 2342 } 2343 2344 function shuffleArray(d) { 2345 for (var c = d.length - 1; c > 0; c--) { 2346 var b = Math.floor(Math.random() * (c + 1)); 2347 var a = d[c]; 2348 d[c] = d[b]; 2349 d[b] = a; 2350 } 2351 return d; 2352 } 2353 2354 function shuffle(target){ 2355 var $box = $(target).children(".slick-slide-none") 2356 ,$container = $box.children(".row") 2357 ,$li = $box.find(".columns") 2358 ,total = $li.length 2359 ,tmp = []; 2360 2361 for(var i=0;i<total;i++) tmp.push(i); 2362 2363 $container.empty(); 2364 setTimeout(
2365 shuffleArray(tmp).forEach(function(a,b){ 2366 var $bannerBoxs=$li[a].querySelectorAll(".banner_box") 2367 ,length=$bannerBoxs.length 2368 ,div=document.createElement("div"); 2369 for(var i=0;i<length;i++){ 2370 div.appendChild($bannerBoxs[i]); 2371 div.className = "columns"; 2372 } 2373 $container.append(div); 2374 }) 2375 ,0); 2376 } 2377 }); 2378 } 2379}; 2380 2381/* ****************************************** */ 2382/* /script/resizePhoto.js */ 2383/* ****************************************** */ 2384 2385function resizePhoto() { 2386 2387 var $_container = $('#article-view-content-div'); 2388 var articleViewDivWidth = $_container.width(); 2389 2390 $_container.find('img').each(function(e){ 2391 if($(this).closest('figure').length) { 2392 var ViewimageObj = new Image(); 2393 var $_thisImgObj = $(this); 2394 ViewimageObj.src = $(this).attr("src"); 2395 ViewimageObj.onload = function() { 2396 imageWidth = this.width; 2397 if(articleViewDivWidth <= imageWidth) { 2398 $_thisImgObj.closest('figure').addClass('bigsize'); 2399 } 2400 }; 2401 2402 } 2403 }); 2404 2405 $_container.on('click', 'figure.bigsize', function(e){ 2406 $('<form action="/news/userArticlePhoto.html" method="POST"><input type="hidden" name="src" value="'+$(this).find("img").attr('src')+'"></form>').appendTo('body').submit(); 2407 }) 2408 .on('click', 'figure.bigsize figcaption', function(e){ 2409 e.preventDefault(); 2410 e.stopPropagation(); 2411 }); 2412} 2413 2414/* ****************************************** */ 2415/* /script/floating.banner.js */ 2416/* ****************************************** */ 2417$(function() { 2418 $(window).scroll(function() { 2419 2420 if(!($('#floating_banner_left').length || $('#floating_banner_right').length)) return false; 2421 2422 var floatBannerLeft = $('#floating_banner_left'), 2423 floatBannerRight = $('#floating_banner_right'), 2424 2425 HeadHeight = $('#user-header').height(), 2426 footerBoxTop = $('#user-footer').offset().top, 2427 footerBoxHeight = $('#user-footer').height(), 2428 2429 scrollTop = $(window).scrollTop(), 2430 2431 flBnLHeight = floatBannerLeft.height(), 2432 flBnRHeight = floatBannerRight.height(), 2433 2434 ahtHeight = $('.aht-wrapper').height(), 2435 2436 flBnLscrollLimit = footerBoxTop - flBnLHeight - HeadHeight - floatBannerLeft.data('down-margin'), 2437 flBnLscrollLimitChk = flBnLscrollLimit + footerBoxHeight + floatBannerLeft.data('down-margin'), 2438 flBnRscrollLimit = footerBoxTop - flBnRHeight - HeadHeight - floatBannerRight.data('down-margin'), 2439 flBnRscrollLimitChk = flBnRscrollLimit + footerBoxHeight + floatBannerRight.data('down-margin'), 2440 2441 flBnLscrollTop = scrollTop - HeadHeight + ahtHeight + floatBannerLeft.data('top-margin'), 2442 flBnRscrollTop = scrollTop - HeadHeight + ahtHeight + floatBannerRight.data('top-margin'); 2443 2444 if(floatBannerLeft.data('scroll') == 'y'){ 2445 if(floatBannerLeft.data('duration') > 0) floatBannerLeft.stop(); 2446 if(scrollTop < HeadHeight) floatBannerLeft.animate({top: '0px'}, floatBannerLeft.data('duration'), 'linear'); 2447 else if(scrollTop >= flBnLscrollLimitChk) floatBannerLeft.animate({top:flBnLscrollLimit + 'px'}, floatBannerLeft.data('duration'), 'linear'); 2448 else if(scrollTop >= HeadHeight) floatBannerLeft.animate({top:flBnLscrollTop + 'px'}, floatBannerLeft.data('duration'), 'linear'); 2449 } 2450 2451 if(floatBannerRight.data('scroll') == 'y'){ 2452 if(floatBannerRight.data('duration') > 0) floatBannerRight.stop(); 2453 if(scrollTop < HeadHeight) floatBannerRight.animate({top: '0px'}, floatBannerRight.data('duration'), 'linear'); 2454 else if(scrollTop >= flBnRscrollLimitChk) floatBannerRight.animate({top:flBnRscrollLimit + 'px'}, floatBannerRight.data('duration'), 'linear'); 2455 else if(scrollTop >= HeadHeight) floatBannerRight.animate({top:flBnRscrollTop + 'px'}, floatBannerRight.data('duration'), 'linear'); 2456 } 2457 }); 2458}); 2459 2460/* ****************************************** */ 2461/* /script/mosaic.js */ 2462/* ****************************************** */ 2463 2464function mosaic_autobox(data) { 2465 var $_container = $(data[0].container); 2466 var autoplay = data[0].autoplay; 2467 var autotime = data[0].autotime; 2468 var temp_autoplay = autoplay; 2469 var totalcount = $_container.find('ul.auto-nav > li').length; 2470 var point = 0; 2471 2472 $_container.on('mouseenter', '.auto-cursor', function(e){
2473 mosaic_cmd('current', $(this).index()); 2474 }); 2475 2476 $_container.on('mouseenter', function(e){ 2477 if(autoplay) temp_autoplay = false; 2478 }).on('mouseleave', function(e){ 2479 if(autoplay) temp_autoplay = true; 2480 }); 2481 2482 if(autoplay) { 2483 var rolling = window.setInterval(function () { 2484 if(temp_autoplay) mosaic_cmd('next', 0); 2485 }, autotime); 2486 } 2487 2488 function mosaic_cmd(mode, current_point) { 2489 2490 if(mode == "prev") { 2491 point -= 1; 2492 if(point < 0) point = totalcount - 1; 2493 }else if(mode == "next") { 2494 point += 1; 2495 if(point >= totalcount) point = 0; 2496 }else if(mode == "current") { 2497 point = current_point; 2498 } 2499 2500 $_container.find('ul.auto-container > li').eq(point).show().siblings().hide(); 2501 $_container.find('ul.auto-nav > li').eq(point).addClass('active').siblings().removeClass('active'); 2502 2503 if(point < 2){ 2504 $_container.find('ul.auto-container').css({"left":"33.333333%","top":"33.333333%"}); 2505 } else if(point < 4 && point >= 2) { 2506 $_container.find('ul.auto-container').css({"left":"0px","top":"33.333333%"}); 2507 } else if(point < 6 && point >= 4) { 2508 $_container.find('ul.auto-container').css({"left":"0px","top":"0px"}); 2509 } else if(point >= 6) { 2510 $_container.find('ul.auto-container').css({"left":"33.333333%","top":"0px"}); 2511 } 2512 2513 return false; 2514 } 2515} 2516 2517/* ****************************************** */ 2518/* /script/newsAutoCall.js */ 2519/* ****************************************** */ 2520 2521function fn_articleAutoCall(mode, cycle) { 2522 2523 var autoCallMode = mode; 2524 var autoCallCycle = 1000*60*cycle; 2525 var _autoCallWatch = setInterval(action, autoCallCycle); 2526 2527 // DESKì¤ë³µìì ì´ë©´ ì´ê¸° 1í ë°ë¡ì¤í. 2528 if(autoCallMode == "desk") action(); 2529 2530 function action() { 2531 if(autoCallMode == "save") { 2532 if($('.auto-save', '#admin-aside').length > 0 && $('input:hidden[name="autoSave"]', '#newsWriteForm').val() != "") $('.auto-save', '#admin-aside').show(); 2533 TxRx("/news/articleAutoSave.ajax.php"); 2534 } 2535 else if(autoCallMode == "desk") TxRx("/news/articleAutoDesk.ajax.php"); 2536 else stop(); 2537 } 2538 2539 function TxRx(url) { 2540 2541 $.ajax({ 2542 type: "post", 2543 dataType: "json", 2544 url:url, 2545 data:$('#newsWriteForm').serialize(), 2546 success: function(data) { 2547 console.log(data[1]); 2548 }, 2549 error: function(error, request) { 2550 console.log("ìëì½ìë¬ - code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); 2551 stop(); 2552 } 2553 }).always(function() { 2554 if($('.auto-save', '#admin-aside').length > 0) $('.auto-save', '#admin-aside').fadeOut(1500); 2555 }); 2556 } 2557 2558 function stop() { 2559 clearInterval(_autoCallWatch); 2560 console.log(autoCallMode + 'ì¤í±'); 2561 } 2562} 2563 2564/* ****************************************** */ 2565/* 기존 common.js */ 2566/* ****************************************** */ 2567 2568/*--------------------------------------------------------------------------------------------- 2569 JAVASCRIPT CODE 2570 --------------------------------------------------------------------------------------------- 2571 function name | description | use process 2572 --------------------------------------------------------------------------------------------- 2573 setCookie(ì¿ í¤ëª , ê°, ì í¨ê¸°ê°(ì¼)) | | ì¿ í¤ìì± 2574 getCookie(ì¿ í¤ëª ) | | ì¿ í¤ê°ì ¸ì¤ê¸° 2575 ---------------------------------------------------------------------------------------------*/ 2576 2577// ì¿ í¤ ìì± 2578function setCookie(cName, cValue, cDay, cDomain){ 2579 var expire = new Date(); 2580 expire.setDate(expire.getDate() + cDay); 2581 var cookies = cName + '=' + escape(cValue) + '; path=/; '; // íê¸ ê¹¨ì§ì ë§ê¸°ìí´ escape(cValue)를 í©ëë¤. 2582 if(typeof cDay!='undefined') cookies += 'expires=' + expire.toGMTString() + '; '; 2583 if(typeof cDomain!='undefined') cookies += "domain=" + cDomain + ';'; 2584 else { 2585 var host=(typeof SITE_DOMAIN!='undefined')?SITE_DOMAIN:window.location.host 2586 ,domain='.'+host.replace(/^http(s)?:\/\//i,'').replace(/^(www|cms|slv|cdn|m)\./i,''); 2587 cookies += "domain=" + domain + ';'; 2588 } 2589 document.cookie = cookies; 2590} 2591
2592// ì¿ í¤ ê°ì ¸ì¤ê¸° 2593function getCookie(cName) { 2594 cName = cName + '='; 2595 var cookieData = document.cookie; 2596 var start = cookieData.indexOf(cName); 2597 var cValue = ''; 2598 if(start != -1){ 2599 start += cName.length; 2600 var end = cookieData.indexOf(';', start); 2601 if(end == -1)end = cookieData.length; 2602 cValue = cookieData.substring(start, end); 2603 } 2604 return unescape(cValue); 2605} 2606 2607// ì¿ í¤ ì§ì 2608function delCookie(cName) { 2609 var today = new Date(); 2610 today.setTime(today.getTime() - 1); 2611 var value = getCookie(cName); 2612 if(value != "") { 2613 var host=(typeof SITE_DOMAIN!='undefined')?SITE_DOMAIN:window.location.host 2614 ,domain='.'+host.replace(/^http(s)?:\/\//i,'').replace(/^(www|cms|slv|cdn|m)\./i,'') 2615 ,cookies = cName + "=" + value + "; path=/; expires=" + today.toGMTString() + '; ' + "domain=" + domain + ';'; 2616 document.cookie = cookies; 2617 } 2618} 2619 2620 2621/*--------------------------------------------------------------------------------------------- 2622 JAVASCRIPT CODE 2623 --------------------------------------------------------------------------------------------- 2624 function name | description | use process 2625 --------------------------------------------------------------------------------------------- 2626 checkMsgLength() | ì ë ¥ë 문ìì´ ê¸¸ì´ ê²ì¬ | ê¸°ì¬ ëê¸ 2627 calculateMsgLength() | 문ìì´ ê¸¸ì´ ë°í | ê¸°ì¬ ëê¸ 2628 assertMsgLength() | 문ìì´ ê¸¸ì´ë§í¼ ìë¼ ë³í | ê¸°ì¬ ëê¸ 2629 ---------------------------------------------------------------------------------------------*/ 2630 2631// 문ìì´ê¸¸ì´ ê²ì¬ 2632function checkMsgLength(frm, id, lenStr) { 2633 var length = calculateMsgLength(document.getElementById(frm).value); 2634 document.getElementById(id).innerHTML = length; 2635 if (length > lenStr) { 2636 alert("ìµë "+lenStr+" ë°ì´í¸ê¹ì§ ë¨ê¸°ì¤ ì ììµëë¤.\r\nì´ê³¼ë " + (length - lenStr) + "ë°ì´í¸ë ìëì¼ë¡ ìì ë©ëë¤."); 2637 document.getElementById(frm).value = assertMsgLength(document.getElementById(frm).value, lenStr, id); 2638 } 2639} 2640 2641//문ìì´ê¸¸ì´ ë°í 2642function calculateMsgLength(message) { 2643 var nbytes = 0; 2644 2645 for (i=0; i<message.length; i++) { 2646 var ch = message.charAt(i); 2647 2648 if (escape(ch).length > 4) { 2649 nbytes += 2; 2650 } else if (ch != "\r") { 2651 nbytes++; 2652 } 2653 } 2654 2655 return nbytes; 2656} 2657 2658//문ìì´ ê¸¸ì´ë§í¼ ìë¼ ë³í 2659function assertMsgLength(message, maximum, id) { 2660 var inc = 0; 2661 var nbytes = 0; 2662 var msg = ""; 2663 var msglen = message.length; 2664 2665 for (i=0; i<msglen; i++) { 2666 var ch = message.charAt(i); 2667 2668 if (escape(ch).length > 4) { 2669 inc = 2; 2670 } else if (ch != "\r") { 2671 inc = 1; 2672 } 2673 2674 if ((nbytes + inc) > maximum) { 2675 break; 2676 } 2677 2678 nbytes += inc; 2679 msg += ch; 2680 } 2681 2682 document.getElementById(id).innerHTML = nbytes; 2683 return msg; 2684} 2685 2686 2687// ê´ë¦¬ììì 기ì¬ë³¸ë¬¸ ë³µì¬íì¬ ë¸ë¡ê·¸ì í¼ ë를ì ë§í¬ê° ê´ë¦¬ì ë§í¬ë¡ ëì´ ì´ë¥¼ ë³´ì 2688function avReplaceImgUrlOnCopy(){ 2689 var $aView=document.querySelector('#article-view') 2690 ,chgUrl=CDN_DOMAIN||SITE_DOMAIN; 2691 2692 if(!$aView || !chgUrl) return ; 2693 $aView.addEventListener("copy", function(e){ 2694 Array.prototype.slice.call(e.currentTarget.querySelectorAll("img,a[href^='/news/download.php']")).map(function($o, i){ 2695 if($o.tagName.toLowerCase() == 'a'){ // download link 2696 var href=$o.getAttribute("href"); 2697 $o.href=SITE_DOMAIN+href; 2698 }else{ // image 2699 var src=$o.getAttribute("src"); 2700 if(!/^http(s)?:\/\//i.test(src)) $o.src=chgUrl+src; 2701 } 2702 }); 2703 }); 2704} 2705 2706/*--------------------------------------------------------------------------------------------- 2707 JAVASCRIPT CODE 2708 --------------------------------------------------------------------------------------------- 2709 function name | description | use process 2710 --------------------------------------------------------------------------------------------- 2711 articleHeader() | 기ì¬ë·° í¤ë ë¤ë¹ | 기ì¬ë·° í¤ë ë¤ë¹ 2712 ---------------------------------------------------------------------------------------------*/ 2713 2714var articleHeader = { 2715 2716 // í¤ë ë¤ë¹ê²ì´ì ìì± 2717 setScroll:function(){ 2718 jQuery(window).scroll(function() { 2719 if (jQuery(this).scrollTop() > 300) { 2720 jQuery('#sticky-header').addClass('scroll'); 2721 } else { 2722 jQuery('#sticky-header').removeClass('scroll'); 2723 } 2724 }); 2725 }, 2726 2727 2728 // 기ì¬ì´ë 2729 move:function(mod, order_type, order_value, section_code, sub_section_code, serial_code){ 2730 jQuery.post( "ajaxGetForwardIdxno.php", { mod: mod, order_type:order_type, order_value: order_value, section_code: section_code, sub_section_code: sub_section_code, serial_code: serial_code }, function( f_idxno ) { 2731 2732 if(f_idxno){ 2733 location.href = '/news/articleView.html?idxno='+f_idxno 2734 }else{ 2735 alert('기ì¬ê° ì¡´ì¬íì§ ììµëë¤'); 2736 } 2737 2738 }); 2739 } 2740 2741} 2742 2743 2744/*--------------------------------------------------------------------------------------------- 2745 JAVASCRIPT CODE 2746 --------------------------------------------------------------------------------------------- 2747 function name | description | use process 2748 --------------------------------------------------------------------------------------------- 2749 bbsPrint(idxno) | ê²ì물 ì¸ìì°½ ì¤í | ê²ì물 ì¸ìì°½ ì¤í 2750 articlePrint(idxno) | ì¸ìì°½ ì¤í | ì¸ìì°½ ì¤í 2751 articleMail(idxno) | ë©ì¼ë³´ë´ê¸°ì°½ ì¤í | ë©ì¼ë³´ë´ê¸°ì°½ ì¤í 2752 articleErr(idxno) | ì¤ë¥ì ê³ ì°½ ì¤í | ì¤ë¥ì ê³ ì°½ ì¤í 2753 articleSingo(idxno) | ëê¸ì ê³ ì°½ ì¤í | ëê¸ì ê³ ì°½ ì¤í
2754 fn_guid() | (ëë¤)ê³ ì ìì´ë ìì± | (ëë¤)ê³ ì ìì´ë ìì± 2755 ---------------------------------------------------------------------------------------------*/ 2756 2757//ì¸ìì°½ ì¤í 2758function bbsPrint( idxno, ps ) { 2759 var ps_str = ""; 2760 if(ps != "") ps_str = "&ps="+ps; 2761 window.open('/bbs/bbsPrint.html?idxno='+idxno+ps_str, 'bbsPrint', 'width=660,height=500,scrollbars=yes'); 2762} 2763 2764// ì¸ìì°½ ì¤í 2765function articlePrint( idxno ) { 2766 window.open('/news/articlePrint.html?idxno='+idxno, 'articlePrint', 'width=660,height=500,scrollbars=yes'); 2767} 2768 2769// ë©ì¼ë³´ë´ê¸°ì°½ ì¤í 2770function articleMail( idxno ) { 2771 window.open('/news/articleMail.html?idxno='+idxno, 'articleMail', 'width=660,height=500,scrollbars=yes'); 2772} 2773 2774// ì¤ë¥ì ê³ ì°½ ì¤í 2775function articleErr( idxno ) { 2776 window.open('/news/articleErr.html?idxno='+idxno, 'articleErr', 'width=660,height=500,scrollbars=yes'); 2777} 2778 2779// ëê¸ì ê³ ì°½ ì¤í 2780function articleSingo( idxno ) { 2781 window.open('/news/articleSingo.html?idxno='+idxno, 'articleSingo', 'width=660,height=500,scrollbars=yes'); 2782} 2783 2784//ê³ ì ê°ìì± (기ì¬ë±ë¡ ê´ë ¨ê¸°ì¬ ëì¸ë ì¬ì©) 2785function fn_guid() { 2786 function s4() { 2787 return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); 2788 } 2789 return s4() + s4() + s4() + s4() + s4() + s4() + s4() + s4(); 2790} 2791 2792/***************************************************************************** 2793*ê²ìí ì¹´í ê³ ë¦¬ ì¤ì 2794*****************************************************************************/ 2795var bbsCfg={ 2796 2797 // ì¹´í ê³ ë¦¬ ì í 2798 setCategory:function() { 2799 2800 // ì¶ê° 2801 $('#admin-content').on('click', '#btn_category_add, .btn_category_delete, .btn_category_modify', function(e){ 2802 2803 var _this = this 2804 ,$this = $(_this) 2805 ,isAddButton = $this.is("#btn_category_add") 2806 ,isDltButton = $this.is(".btn_category_delete") 2807 ,isModalButton = $this.is(".btn_category_modify") 2808 ,$categoryName = $('#category_name').val() 2809 ,categoryArr = $categoryName.split(','); 2810 2811 if(isAddButton){ // ì¶ê° 2812 categoryArr =categoryArr.filter(Boolean); 2813 for (var i in categoryArr) { 2814 var category = categoryArr[i]; 2815 2816 // íì í목 ì²´í¬ 2817 if(!category || category == "") { 2818 alert("ì¹´í ê³ ë¦¬ëª ì ì ííê² ì ë ¥í´ì£¼ì¸ì."); 2819 return false; 2820 } 2821 2822 // ì¤ë³µì²´í¬ 2823 if($('#category-div').find("input[class='category'][value='"+category+"']").length>0) { 2824 alert(category+' ì¹´í ê³ ë¦¬ë ì¡´ì¬í©ëë¤.'); 2825 $('#category_name').val(''); 2826 return false; 2827 } 2828 2829 var _time = (Math.random()*new Date().getTime()).toFixed(0); 2830 var html=''; 2831 html += "<li class='add-category-entity'> "; 2832 html += " <input type='hidden' name='category["+_time+"]' class='category' value='"+category+"'>"; 2833 html += " <span class='button nd-pink small default-cursor btn_category_modify' data-cate-idxno='"+_time+"'><i class='icon-wrench'> </i>"+category+"</span><button type='button' class='button secondary small btn_category_delete' data-cate-idxno='"+_time+"' ><i class='icon-trash-o'></i></button>"; 2834 html += "</li>"; 2835 $('#add-category').append(html); 2836 } 2837 2838 //ì´ê¸°í 2839 $('#category_name').val(''); 2840 2841 } else if(isModalButton) { // ìì ëª¨ë¬ 2842 2843 var $this = $(this) 2844 ,$form = $('#form_bbs_category') 2845 ,$item = $this.closest(".add-category-entity") 2846 ,$span = $this.closest(".btn_category_modify") 2847 ,cate_idxno = $span.data("cate-idxno") 2848 ,category = $item.find("input:hidden[name='category["+cate_idxno+"]']").val(); 2849 2850 $form.find('input:hidden[name="cate_idxno"]').val(cate_idxno); 2851 $form.find('input:text[name="category"]').val(category); 2852 2853 $('#categoryAddModal').foundation('open'); 2854 2855 // ìì 2856 $form.on('click', '.chk', function(e){ 2857 if($item) { 2858 var cate_idxno= $form.find('input:hidden[name="cate_idxno"]').val() 2859 ,category = $form.find('input[name="category"]').val(); 2860 2861 if($form.find('[name="category"]').val() == ""){ 2862 alert('ì¹´í ê³ ë¦¬ ëª ì ì ííê² ì ë ¥í´ì£¼ì¸ì'); 2863 $form.find('[name="category"]').focus(); 2864 return false; 2865 } 2866 2867 $item.find("input:hidden[name='category["+cate_idxno+"]']").val(category); 2868 $item.find("span[data-cate-idxno='"+cate_idxno+"']").html("<i class='icon-wrench'> </i>"+category).attr("data-category",category); 2869 } 2870 2871 $('#categoryAddModal').foundation('close'); 2872 }); 2873 2874 } else if(isDltButton) { //ìì 2875 var cate_idxno = $(this).closest(".btn_category_delete").data("cate-idxno"); 2876 if(!window.confirm("ìì íìê² ìµëê¹?")) return false; 2877 $.post( "/bbs/axBbsCategory.php" 2878 ,{mode:"categoryChk",cate_idxno:cate_idxno} 2879 ,function(data, rst){ 2880 if(data.result === "success"){ 2881 $this.closest(".add-category-entity").fadeOut("fast",function(){$(this).remove();}); 2882 }else alert(decodeURIComponent(data.msg)); 2883 2884 },"json"); 2885 return false; 2886 } 2887 }); 2888 } 2889 2890 //ì ë ¬ 2891 ,evtSortableCategory:function(){ 2892 var $box = $("#add-category"), 2893 table_name = $box.attr("data-table"); 2894 2895 $box.sortable({ 2896 placeholder: "ui-state-highlight" 2897 ,forcePlaceholderSize:true 2898 ,update:function(event, ui){ 2899 // ì ì¥ìí¨ 2900 } 2901 }); 2902 } 2903 2904 //ì¹´í ê³ ë¦¬ ì´ë 2905 ,categoryMove:function(checkBoxIdxno){ 2906 2907 // ì ì²´ì í 2908 $("#all-dummy").click(function(e){
2909 $('input:checkbox[name="bbs_idxno[]"]', '#bbs_table').each(function(i){ 2910 this.checked = $('input:checkbox[name="all_dummy"]', '#bbs_table').is(':checked'); 2911 }); 2912 }); 2913 2914 // ì¶ê° 2915 $('.bbs-skin').on('click', '.categoryModalBtn', function(e){ 2916 var data=$(checkBoxIdxno).filter(function(i){ return this.checked?true:false; }).map(function(a,b){ return b.value; }).get(); 2917 if(data.length<=0){ 2918 alert("ì¹´í ê³ ë¦¬ ì´ë í ê²ì물ì ì íí´ì£¼ì¸ì."); 2919 return false; 2920 } 2921 //console.log(data); 2922 $('#categoryMoveModal').foundation('open'); 2923 2924 $('#categoryMoveForm').on('click', '.category_move_btn', function(e){ 2925 var to_category = $('#categoryMoveForm').find('#toCategory option:selected').val(), 2926 table_name = $('#categoryMoveForm').find('input:hidden[name="table_name"]').val(); 2927 2928 if(!window.confirm("ì¹´í ê³ ë¦¬ ì´ë í ê²ìë¬¼ë¡ ë³ê²½íìê² ìµëê¹?")) return false; 2929 $.post("/bbs/axBbsCategory.php" 2930 ,{mode:"bbsCategoryMove","bbs_idxno[]":data,"to_category":to_category,"table_name":table_name} 2931 ,function(data,rst){ 2932 console.log(data); 2933 if(data.result!="success"){ 2934 alert(data.msg||"문ì ê° ìê²¼ìµëë¤. ì ìí ë¤ì ìë íì¬ ì£¼ì¸ì."); 2935 return false; 2936 } 2937 //alert("ì¹´í ê³ ë¦¬ ì´ëì´ ìë£ëììµëë¤."); 2938 location.reload(true); 2939 },"json"); 2940 2941 return false; 2942 }); 2943 }); 2944 } 2945} 2946 2947/***************************************************************************** 2948* ë¤ì¤ì¹ì ì¤ì 2949*****************************************************************************/ 2950var multiSection ={ 2951 2952 // ì¹ì ë¡ë 2953 sectionLoad:function() { 2954 2955 $('#admin-content').on('change', '.add-section-select', function(e){ 2956 var tp = $(this).data('type'); 2957 var code = $(this).val(); 2958 var $_obj = $('#add_section'); 2959 2960 if(tp == 1) multiSection.changeSectionCode(tp, code); 2961 else if(tp == 2) { 2962 if($(this).val() == "") { 2963 multiSection.changeSectionCode(1, $_obj.val()); 2964 } 2965 else multiSection.changeSectionCode(tp, code); 2966 } 2967 }); 2968 2969 //ìì 2970 $('#section-div').on('click', '.delete-button', function(e){ 2971 var tp = $(this).data('type'); 2972 $(this).closest('.'+tp+'-section-entity').remove(); 2973 }); 2974 } 2975 2976 //ì¹ì ì½ë í¸ì¶ 2977 ,changeSectionCode:function(tp,code) { 2978 2979 var $_subsection = $('#add_subsection'); 2980 var $_serial = $('#add_serial'); 2981 2982 $.ajax({ 2983 type: "post", 2984 dataType: "json", 2985 url: "/news/changeSectionCode.ajax.php", 2986 data:{tp:tp, code:code}, 2987 success: function(data) { 2988 if(data[0] == "Y"){ 2989 if(tp == 1){ 2990 $_subsection.html(data[1]); 2991 $_serial.html(data[2]); 2992 }else if(tp == 2){ 2993 $_serial.html(data[2]); 2994 } 2995 } 2996 }, 2997 error: function(error, request) { 2998 alert('error!!!'); 2999 console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); 3000 } 3001 }); 3002 3003 return false; 3004 } 3005 3006 // ìëë°ì¤ ì¹ì ì¶ê°&ì ì¸ 3007 ,addSectionCode:function() { 3008 3009 // ì¹ì ë¨ë½ ë ¸ì¶ ì¬ë¶ 3010 if($('.add-section-entity').length > 0) $('#section-div').show(); 3011 else $('#section-div').hide(); 3012 3013 $('#admin-content').on('click', '#sectionBtn', function(e){ 3014 3015 // ì¶ê° or ì ì¸ 3016 var tp = $(this).data('type'); 3017 3018 //1ì°¨ì¹ì 3019 var sectioncode = $('#add_section option:selected').val(); 3020 var sectionname = $('#add_section option:selected').text(); 3021 //2ì°¨ì¹ì 3022 var subsectioncode = $('#add_subsection option:selected').val(); 3023 var subsectionname = $('#add_subsection option:selected').text(); 3024 //3ì°¨ì¹ì 3025 var serialcode = $('#add_serial option:selected').val(); 3026 var serialname = $('#add_serial option:selected').text(); 3027 3028 //1ì°¨ì¹ì ì ì í ìíìì... 3029 if(!sectioncode || sectioncode == "") { 3030 alert("ì¶ê°í ì¹ì ì ì íí´ì£¼ì¸ì."); 3031 return false; 3032 } 3033 3034 // ì¤ë³µì½ë ì²´í¬ 3035 var addSecCode = sectioncode; 3036 if(subsectioncode) addSecCode += '>'+subsectioncode; 3037 if(serialcode) addSecCode += '>'+serialcode; 3038 3039 var duplicateChk = false; 3040 3041 // ëì¼í ì¹ì 구ì±ì´ ì¶ê°&ì ì¸ ëì ì¶ê° ì ì´ 3042 $('.input_setion_data').each(function(){ 3043 if( $(this).val() == addSecCode) { 3044 alert('ì´ë¯¸ ì¤ë³µ ë ì½ëê° ì¡´ì¬í©ëë¤.'); 3045 eixt; 3046 duplicateChk = true; 3047 return false; 3048 } 3049 }); 3050 3051 if(tp == 'add') { 3052 //ì ì²´ê° ì í ë ê²½ì° ë¨ì¼ ì í ì ì´ 3053 $('.add_section_data').each(function(){ 3054 if($(this).val() == "ALL"){ 3055 alert('ì 체를 ì ííì¤ ê²½ì° ë¨ì¼ ì¹ì ì íì íì¤ ì ììµëë¤.'); 3056 duplicateChk = true; 3057 return false; 3058 } 3059 }); 3060 3061 // ë¨ì¼ ì¹ì ì íì ì ì²´ ì í ì ì´ 3062 if($('.add-section-entity').length > 0) { 3063 if(addSecCode == "ALL"){ 3064 alert('ë¨ì¼ ì¹ì ì´ ì´ë¯¸ ì íëì´ ììµëë¤. ì ì²´ë ì ííì¤ ì ììµëë¤.'); 3065 duplicateChk = true; 3066 return false; 3067 } 3068 } 3069 3070 } else if(tp == "exc") { 3071 3072 if(addSecCode == "ALL"){ 3073 alert('ì ì¸ ì¹ì ì¼ë¡ë ì 체를 ì ííì¤ ì ììµëë¤.'); 3074 duplicateChk = true; 3075 return false; 3076 } else { 3077 3078 if($('.add-section-entity').length > 0) { 3079 $('.add_section_data').each(function(){
3080 if($(this).val().indexOf(addSecCode) != -1) { //í¬í¨í ê²½ì° 3081 alert('ì¶ê° ì¹ì ì í¬í¨ ë 1ì°¨ ì¹ì ì¼ë¡ ì ì¸í ì ììµëë¤. '); 3082 duplicateChk = true; 3083 return false; 3084 } 3085 if($(this).val() != "ALL"){ 3086 if(addSecCode.indexOf(">") == -1) { 3087 alert('ì ì¸ ì¹ì ì¼ë¡ ì²ë¦¬í ì ììµëë¤.'); 3088 duplicateChk = true; 3089 return false; 3090 } 3091 } 3092 }); 3093 } 3094 } 3095 3096 if($('.add-section-entity').length == 0) { 3097 alert('ì¶ê° ì¹ì ì 먼ì ì íí´ì£¼ì¸ì.'); 3098 duplicateChk = true; 3099 return false; 3100 } 3101 } 3102 3103 if(duplicateChk) return false; 3104 3105 // ì¶ê° ë ê²½ì° ë ¸ì¶ 3106 $('#section-div').show(); 3107 3108 var title = "<span class='hollow button nd-pink default-cursor'>"+sectionname+"</span>"; 3109 if(subsectioncode || subsectioncode != "") title += "<span class='hollow button warning default-cursor'>"+subsectionname+"</span>"; 3110 if(serialcode || serialcode != "") title += "<span class='hollow button alert default-cursor'>"+serialname+"</span>"; 3111 3112 var html=''; 3113 html += "<div class='button-group small "+tp+"-section-entity'>"; 3114 html += " <input type='hidden' name='"+tp+"_section_data[]' class='"+tp+"_section_data input_setion_data' value='"+addSecCode+"'>"; 3115 // html += " <input type='hidden' class='"+tp+"-chk-sec' value='"+addSecCode+"'>"; 3116 html += title; 3117 html += " <button type='button' class='button nd-white tiny delete-button' data-type='"+tp+"' title='"+sectionname+" ìì '><i class='icon-trash-o'></i><span class='show-for-sr'>ìì </span></button>"; 3118 html += "</div>"; 3119 3120 $('#'+tp+'-section').append(html); 3121 3122 //.attr("data-code",category) 3123 3124 }); 3125 } 3126 3127 //ì ì¡ 3128 ,multiSectionSumbit:function(form) 3129 { 3130 3131 if(!form.description.value) 3132 { 3133 alert("리ì¤í¸ëª ì ì ë ¥í´ì£¼ì¸ì."); 3134 description.focus(); 3135 return false; 3136 } 3137 3138 if($('.add-section-entity').length == 0) { 3139 alert("ì°ê²° ì¹ì ì ì íí´ì£¼ì¸ì."); 3140 return false; 3141 } 3142 3143 if(confirm("ì íí ì¹ì ì íëì 리ì¤í¸ë¡ 구ì±í©ëë¤. \nì ë§ë¡ ì¤ííìê² ìµëê¹?")) return true; 3144 else return false; 3145 3146 } 3147 3148} 3149 3150/* ****************************************** */ 3151/* /script/app.js (íì´ë°ì´ì ì¤ííì¼ */ 3152/* ****************************************** */ 3153 3154$(function(){ 3155 $(document).foundation(); 3156}); 3157 3158/***************************************************************************** 3159*ê¸°ì¬ ì¹´ì´í¸ 3160*****************************************************************************/ 3161var _statistics={ 3162 articleCookieCount:function(article_idxno){ 3163 if(!article_idxno) return false; 3164 3165 var cookieRestore = false 3166 ,articleIdxno = article_idxno 3167 ,articleUniqView = _statistics.getCookie('___AUV') 3168 ,dateTime = new Date(); 3169 3170 var regexp = new RegExp("_"+articleIdxno+"\.(\\d{10})x","i"); 3171 var dataArr = articleUniqView.match(regexp); 3172 3173 if(dataArr !== null){ 3174 var limitTime = dateTime.setHours(dateTime.getHours() - 1); 3175 limitTime = Math.floor(limitTime / 1000); 3176 if (limitTime > dataArr[1]){ 3177 articleUniqView = articleUniqView.replace(dataArr[0], ''); 3178 cookieRestore = true; 3179 } 3180 } else cookieRestore = true; 3181 3182 if(cookieRestore === true) { 3183 var newData = '_'+articleIdxno+'.'+ Math.floor(new Date().getTime() / 1000) +'x'; 3184 $.ajax({ 3185 url:'/news/makeArticleUniqSave.ajax.php', 3186 type:'POST', 3187 dataType:'json', 3188 cahse: false, 3189 data: {article_idxno:articleIdxno}, 3190 success:function(rst,data){ 3191 if(rst.result == "success"){ 3192 var tmpTotalSize = 8 + articleUniqView.length + newData.length; 3193 if (tmpTotalSize >= 2048) articleUniqView = articleUniqView.substr(0, (articleUniqView.length - newData.length)); 3194 articleUniqView = newData + articleUniqView; 3195 3196 var domain = '.'+ countDomain.replace(/^http(s)?:\/\//i,'').replace(/^(www|m)\./i,''); 3197 _statistics.setCookie("___AUV", articleUniqView.trim(), 30, domain); 3198 } 3199 }, 3200 error: function(error, request) { 3201 console.log("error:"+error+"\n"+"request:"+request); 3202 } 3203 }); 3204 } 3205 } 3206 ,getCookie:function(name) 3207 { 3208 name+="="; 3209 var ca = document.cookie.split(';'); 3210 for(var i=0; i<ca.length; i++) { 3211 var c = ca[i];
3212 while (c.charAt(0)==' ') c = c.substring(1); 3213 if (c.indexOf(name) == 0) return c.substring(name.length,c.length); 3214 } 3215 return ""; 3216 } 3217 ,setCookie:function(name, value, days, domain) 3218 { 3219 var expires = ""; 3220 if(days){ 3221 var date = new Date(); 3222 date.setTime(date.getTime()+(days*24*60*60*1000)); 3223 expires = "; expires="+date.toGMTString(); 3224 } 3225 if(!domain) domain = countDomain.replace(/^http(s)?:\/\//i,'').replace(/^(www|m)\./i,''); 3226 document.cookie = name+"="+value+expires+"; path=/; " + (domain?"domain="+domain+";":""); 3227 } 3228}
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.