/*--------------------------------------
비즈마루 공통 스크립트
--------------------------------------*/
/* Article Manager Modal */
function close_modal_and_reload() {
window.closeModal = function(){
$('.article-modal-edit').modal('hide');
};
document.location.reload();
}
function article_modal_setting(obj) {
var aid = $(obj).attr("article-id");
$('#modal_setting_'+aid).modal('show').on('hidden.bs.modal', function () {
$('html').css({overflow: ''});
});
$('#modal_setting_'+aid).modal('show').on('shown.bs.modal', function () {
$('html').css({overflow: 'hidden'});
});
return false;
}
function article_modal_editor(obj) {
var aid = $(obj).attr("article-id");
$('#modal_editor_'+aid).modal('show').on('hidden.bs.modal', function () {
$('html').css({overflow: ''});
});
$('#modal_editor_'+aid).modal('show').on('shown.bs.modal', function () {
$('html').css({overflow: 'hidden'});
});
return false;
}
function article_modal_contact(obj) {
var aid = $(obj).attr("article-id");
$("input[name=contact_article_id").val(aid);
$("#contactform input[name=name]").val("");
$("#contactform input[name=email]").val("");
$("#contactform input[name=subject]").val("");
$("#contactform textarea[name=memo]").val("");
$('#modal_contact').modal('show').on('hidden.bs.modal', function () {
$('html').css({overflow: ''});
});
$('#modal_contact').modal('show').on('shown.bs.modal', function () {
$('html').css({overflow: 'hidden'});
});
return false;
}
window.closeModal = function(url){
$('.article-modal-edit').modal('hide');
document.location.href = url;
};
function contact_submit() {
//alert($("#contactform").attr("action"));
var act = $("#contactform").attr("action");
$.post(act,$("#contactform").serialize(), function (result) {
if(result.result == "OK") {
alert("문의 접수 되었습니다");
//$('#modal_contact').closeModal();
$('.article-modal-contact').modal('hide');
//window.closeModal();
}
},"json");
}
function save_article_data(aid) {
var post_data = new Array();
var post_url = $("#"+aid).attr("action-url");
post_data.push("act=article_save");
post_data.push("aid="+aid);
$("#"+aid+" .editItem").each( function () {
var dn = $(this).attr("data-name");
var dv = $(this).html();
post_data.push(dn+"="+encodeURIComponent(dv));
});
var dn = dv = dtype = "";
$("#"+aid+" .editImage").each( function () {
dn = dv = "";
dtype = $(this).attr("data-type");
if(dtype == "imgsrc") {
// 이미지 이름 저장
dn = $(this).attr("data-name");
dv = $(this).attr("data-value");
} else if(dtype == "imgsrc_edit") {
// 업로드 이미지 저장
dn = $(this).attr("data-name")+"|img|"+$(this).attr("img-ext");
dv = $(this).attr("src");
} else if(dtype == "imgdiv") {
// 기존 데이터 보존을 위해 기존정보 그대로 전달
if($(this).attr("data-name") == "partner-image") {
dn = $(this).attr("data-name")+"[]";
} else {
dn = $(this).attr("data-name");
}
dv = $(this).attr("data-value");
} else if(dtype == "imgdiv_edit") {
// 이미지 업로드 되었으므로 div 데이터는 저장하면 안됨
return;
} else if(dtype == "img") {
// div 안에 있는 업로드된 이미지 저장
if($(this).attr("data-name") == "partner-image") {
if($(this).attr("data-idx") != "") {
dn = $(this).attr("data-name")+'[change][idx]';
dv = $(this).attr("data-idx");
post_data.push(dn+"="+encodeURIComponent(dv));
dn = $(this).attr("data-name")+'[change][src]';
dv = $(this).attr("src");
} else {
dn = $(this).attr("data-name")+'[new][seq]';
dv = $(this).attr("data-seq");
post_data.push(dn+"="+encodeURIComponent(dv));
dn = $(this).attr("data-name")+'[new][src]';
dv = $(this).attr("src");
}
} else {
var dname = $(this).attr("data-name");
dn = dname+"|img|"+$(this).attr("img-ext");
dv = $(this).attr("src");
}
} else {
// 일반 텍스트
dn = $(this).attr("data-name");
dv = $(this).html();
}
if(dn != "") {
post_data.push(dn+"="+encodeURIComponent(dv));
}
});
$.post(post_url,post_data.join("&"), function (result) {});
}
function set_article_edit_mode($article) {
var aid = $article.attr("id");
var $editItem = $("#"+aid+" .editItem");
var $editImage = $("#"+aid+" .editImage");
var $btn = $("#"+aid+" .btn_edit");
$article.data("isEdit",true);
$btn.html('편집완료');
$(".btn_edit_cancel[article-id="+aid+"]").removeClass("hide");
$editItem.each( function () {
this.contentEditable = true;
if($(this).data("org") == undefined) $(this).data("org",$(this).html());
//$(this).css("display","inline-block");
});
$editImage.each( function () {
if($(this).attr("data-type") == "imgsrc") {
if($(this).data("org") == undefined) $(this).data("org",$(this).attr("src"));
} else {
if($(this).data("org") == undefined) $(this).data("org",$(this).html());
}
$(this).addClass("imgEditing");
//$(this).css("display","inline-block");
});
$("#"+aid+" .imgItem").addClass("active");
}
function article_edit_exit($article,onlyChangeMode) {
var aid = $article.attr("id");
var isEdit = $article.data("isEdit");
if(isEdit) {
if(!confirm("변경내용을 취소 하시겠습니까 ?")) return false;
// 편집모드이면 기존데이터를 불러와서 채움
$("#"+aid+" .editItem").each( function () {
if($(this).data("org") != undefined) {
$(this).html($(this).data("org"));
}
});
$("#"+aid+" .editImage").each( function () {
if($(this).data("org") != undefined)
if($(this).attr("data-type") == "imgsrc" || $(this).attr("data-type") == "rimg_edit") {
$(this).attr("src",$(this).data("org"));
$(this).attr("data-type","imgsrc");
} else {
$(this).html($(this).data("org"));
}
});
}
set_article_view_mode($article,onlyChangeMode);
}
function set_article_view_mode($article,onlyChangeMode) {
var aid = $article.attr("id");
var $btn = $("#"+aid+" .btn_edit");
var $editItem = $("#"+aid+" .editItem");
var $editImage = $("#"+aid+" .editImage");
$article.data("isEdit",false);
$btn.html('편집');
$(".btn_edit_cancel[article-id="+aid+"]").addClass("hide");
$editItem.each( function () {
this.contentEditable = false;
//$(this).css("display","");
});
$editImage.each( function () {
$(this).removeClass("imgEditing");
//$(this).css("display","");
});
$("#"+aid+" .imgItem").removeClass("active");
if(!onlyChangeMode) {
$article.removeClass("active");
// 아티클 매니저버튼 보이기
$(".article-manager-btn[article-id="+aid+"]").show();
}
}
function image_drop(e,$obj) {
var aid = $obj.attr("article-id");
var isEdit = $("#"+aid).data("isEdit");
if(isEdit == undefined || isEdit == false) return;
var dtype = $obj.attr("data-type");
// Stop the default action, which is to redirect the page
// To the dropped file
var files = e.dataTransfer.files;
// For each file
$.each(files, function(index, file) {
// Some error messaging
if (!files[index].type.match('image.*')) {
alert('이미지 파일만 업로드 가능 합니다');
return false;
}
// Start a new instance of FileReader
var fileReader = new FileReader();
var img = document.createElement("img");
// When the filereader loads initiate a function
fileReader.onload = (function(file) {
return function(e) {
if(dtype=="imgsrc") {
// img 태그에 드랍됨
$obj.attr("data-type","imgsrc_edit");
$obj.attr("img-ext",$(file.name.split(".")).get(-1));
$obj.attr("src",e.target.result);
} else if(dtype == "imgdiv") {
// img 태그의 부모 div에 드랍됨
img.src = e.target.result;
$(img).attr("data-name",$obj.attr("data-name"));
$(img).attr("data-type","img");
$(img).attr("img-ext",$(file.name.split(".")).get(-1));
$(img).addClass("editImage");
$obj.children("img").remove();
$obj.append(img);
$obj.attr("data-type","imgdiv_edit");
}
};
})(files[index]);
// For data URI purposes
fileReader.readAsDataURL(file);
});
}
$(document).ready( function () {
$(".btn_edit").click( function () {
var aid = $(this).attr("article-id");
var $article = $("#"+aid);
if($article.data("isEdit") == "undefined" || !$article.data("isEdit")) {
set_article_edit_mode($article);
} else {
set_article_view_mode($article,true);
// save data
save_article_data(aid);
}
});
$(".btn_edit_cancel").click( function () {
var aid = $(this).attr("article-id");
var $article = $("#"+aid);
article_edit_exit($article,true);
});
$(".article-manager-btn").click( function () {
var aid = $(this).attr("article-id");
var $article = $("#"+aid);
$article.addClass("active");
// 아티클 매니저버튼 감추기
$(this).hide();
});
$(".btn_config").click( function (e) {
e.preventDefault();
var aid = $(this).attr("article-id");
var post_url = $(this).attr("post-url");
var $fm = $("#fmc_"+aid);
$.post(post_url,$fm.serialize(), function (result) {
if(result.result == "OK") {
alert("적용 되었습니다");
//close_modal();
location.reload();
} else {
alert(result);
}
},"json")
});
$(".btn_ac_editor").click( function (e) {
e.preventDefault();
var aid = $(this).attr("article-id");
var $frameobj = $("#fm_"+aid+" #mana-board");
if($frameobj != undefined) {
$frameobj.attr("src",$frameobj.attr("control-url"));
}
article_modal_editor(this);
});
$(".btn_ac_setting").click( function (e) {
e.preventDefault();
article_modal_setting(this);
});
$(".btn_ac_contact").click( function (e) {
e.preventDefault();
article_modal_contact(this);
});
$(".btn_ac_close").click( function (e) {
e.preventDefault();
var aid = $(this).attr("article-id");
var $article = $("#"+aid);
article_edit_exit($article,false);
});
$(".btn_modal_ac_close").click( function (e) {
e.preventDefault();
var aid = $(this).attr("article-id");
var $article = $("#"+aid);
article_edit_exit($article,false);
});
});