// 임시 저장하는 시간을 초단위로 설정한다.
var AUTOSAVE_INTERVAL = 60; // 초

// 글의 제목과 내용을 바뀐 부분이 있는지 비교하기 위하여 저장해 놓는 변수
var save_wr_subject = null;
var save_wr_content = null;

function autosave() {
    $("form#fwrite").each(function() {

        if (editor_type == "SEditor2") {
			this.wr_content.value = oEditors.getById["wr_content"].getContents();
        } else if (editor_type == "DEditor") {
			this.wr_content.value = Editor.getContent();
		} else if (editor_type == "cheditor") {
			this.wr_content.value = ed_wr_content.outputBodyHTML();
		} else if (editor_type == "ckeditor") {
			this.wr_content.value = CKEDITOR.instances.wr_content.getData();
		}

		// 변수에 저장해 놓은 값과 다를 경우에만 임시 저장함
        if (save_wr_subject != this.wr_subject.value || save_wr_content != this.wr_content.value) {
            $.ajax({
                url: g4_url+"/amina/ajax.autosave.php",
                data: {
                    "uid" : this.uid.value,
                    "subject": this.wr_subject.value,
                    "content": this.wr_content.value
                },
                type: "POST",
                success: function(data){
                    if (data) {
                        $("#autosave_count").html(data);    
                    }
                }
            });
            save_wr_subject = this.wr_subject.value;
            save_wr_content = this.wr_content.value;
        }
    });
}

$(function(){

    if (g4_is_member) {
        setInterval(autosave, AUTOSAVE_INTERVAL * 1000);
    }

    // 임시저장된 글목록을 가져옴
    $("#btn_autosave").click(function(){
        if ($("#autosave_pop").is(":hidden")) {
            $.get(g4_url+"/amina/ajax.autosavelist.php", function(data){
                //alert(data);
                //console.log( "Data: " + data);
                $("#autosave_pop ul").empty();
                if ($(data).find("list").find("item").length > 0) {
                    $(data).find("list").find("item").each(function(i) { 
                        var id = $(this).find("id").text();
                        var uid = $(this).find("uid").text();
                        var subject = $(this).find("subject").text();
                        var datetime = $(this).find("datetime").text();
                        $("#autosave_pop ul").append('<li><a href="#none" class="autosave_load">'+subject+'</a><span>'+datetime+' <button type="button" class="autosave_del">삭제</button></span></li>');
                        $.data(document.body, "autosave_id"+i, id);
                        $.data(document.body, "autosave_uid"+i, uid);
                    });
                }
            }, "xml");
            $("#autosave_pop").show();
        } else {
            $("#autosave_pop").hide();
        }
    });

    // 임시저장된 글 제목과 내용을 가져와서 제목과 내용 입력박스에 노출해 줌
    $(".autosave_load").live("click", function(){
        var i = $(this).parents("li").index();
        var as_id = $.data(document.body, "autosave_id"+i);
        var as_uid = $.data(document.body, "autosave_uid"+i);
        $("#fwrite input[name='uid']").val(as_uid);
        $.get(g4_url+"/amina/ajax.autosaveload.php", {"as_id":as_id}, function(data){
            var subject = $(data).find("item").find("subject").text();
            var content = $(data).find("item").find("content").text();

			$("#wr_subject").val(subject);

			if (editor_type == "SEditor2") {
				oEditors.getById["wr_content"].setContents(content);
			} else if (editor_type == "DEditor") {
                $("#fwrite #wr_content").val(content);
				loadContent();
		    } else if (editor_type == "cheditor") {
				ed_wr_content.replaceContents(content);
		    } else if (editor_type == "ckeditor") {
                CKEDITOR.instances.wr_content.setData(content);
			} else {
                $("#fwrite #wr_content").val(content);
            }
        }, "xml");
        $("#autosave_pop").hide();
    });

    $(".autosave_del").live("click", function(){
        var i = $(this).parents("li").index();
        var as_id = $.data(document.body, "autosave_id"+i);
        $.get(g4_url+"/amina/ajax.autosavedel.php", {"as_id":as_id}, function(data){ 
            if (data == -1) {
                alert("임시 저장된글을 삭제중에 오류가 발생하였습니다.");
            } else {
                $("#autosave_count").html(data);    
                $("#autosave_pop ul > li").eq(i).remove();
            }
        });
    });

    $(".autosave_close").click(function(){ $("#autosave_pop").hide(); });
});
