// # vim: fileencoding=utf-8 autoindent expandtab sw=4 ts=4 :

ItemArticle.posting = function(onoff){
    var e = $('#itemarticle_posting_panel');
    if (onoff == true) {
        //e.show();
        e.slideDown();
    } else if (onoff == false) {
        //e.hide();
        e.slideUp();
    }
    return e;
};


ItemArticle.posting.now_loading = function(onoff) {
    var root = ItemArticle.posting();
    var e = $('#itemarticle_posting_indicator', root);
    if (onoff == true) {
        e.fadeIn();
    } else if (onoff == false) {
        e.fadeOut();
    }
    return e;
};


/// BOARD LISTING

ItemArticle.posting.add_board_list = function(b) {
    var root = ItemArticle.posting();
    var form = $('#form_itemarticle_posting', root);
    var html_select = $('#board', form);
    var v = "<option value='"+b['subject']+"'>"+b['description']+" ("+b['subject']+")</option>";
    var html_option = $(v);
    html_select.append(html_option);
    html_option.show();
};

ItemArticle.posting.load_board_list = function() {
    var url_ = '/board/item_list_boards/';
    $.ajax({
        url: url_,
        dataType: 'json',
        success: function(json_boards){
            $.each(json_boards['boards'],
                function(idx, b) {
                    ItemArticle.posting.add_board_list(b);
                }
            );
        }
    });
};


/// FORM

ItemArticle.posting.clear_form = function() {
    var root = ItemArticle.posting();
    var form = $('#form_itemarticle_posting', root);
    // subject
    var subject = $('#subject', form).val('');
    // board
    var board = $('#board', form).val('');
    // message
    var message = $('#message', form).val('');
    //
    return form
};

ItemArticle.posting.val = function() {
    var root = ItemArticle.posting();
    var form = $('#form_itemarticle_posting', root);
    // subject
    var subject = $('#subject', form).val();
    // board
    var board = $('#board', form).val();
    // message
    var message = $('#message', form).val();
    //
    return {
        subject:    subject,
        board:      board,
        selector:  ItemArticle.item_code(),
        message:    message
    }
};

ItemArticle.posting.when_save_failed = function() {
    ItemArticle.posting.now_loading(false);
    ItemArticle.posting().Shake();
    var msg = "게시물을 저장할 수 없습니다.";
    msg += "\n1. 로그인을 확인해주세요.";
    msg += "\n2. 제목, 내용을 입력하고 게시판을 반드시 선택해주세요.";
    msg += "\n3. 내용은 20자 이상을 입력해주세요.";
    alert(msg);
};

ItemArticle.posting.when_save_done = function() {
    ItemArticle.posting.now_loading(false);
    ItemArticle.posting.clear_form();
    ItemArticle.posting(false);
    alert("게시물을 등록하였습니다. ^^");
    ItemArticle.refresh();
};

ItemArticle.posting.save = function() {
    var url_ = '/board/item_post_article/';
    var data_ = ItemArticle.posting.val();
    ItemArticle.posting.now_loading(true);
    $.ajax({
        url: url_,
        data: data_,
        type: 'POST',
        error:  ItemArticle.posting.when_save_failed,
        success: ItemArticle.posting.when_save_done
    });
};

///

ItemArticle.posting.open_dialog = function() {
    ItemArticle.posting(true);
};

// EOF
