var SYNTAX_COL_SHOW_SPEED = 0; var SYNTAXES_X = 212; var SELECTOR_SYN_COL = "div#syntaxes div.syntax_column"; var CATE_ADDING_ELEMENT = function() { return $('<li class="adding">' + '<img class="adding" src="' + ABS_PATH() + '/img/adding_cate.gif"' + ' alt="作成中" title="作成中" border="0" width="13" height="13" />' + '</li>');}
var CATE_LI_SAVING_IMG_ELEMENT = function() { return $('<img class="saving" src="' + ABS_PATH() + '/img/saving_cate_list.gif"' + ' alt="更新中" title="更新中" border="0" width="13" height="13" />');}
var CATE_TITLE_SAVING_IMG_ELEMENT = function() { return $('<img class="saving" src="' + ABS_PATH() + '/img/saving_cate_title.gif"' + ' alt="更新中" title="更新中" border="0" width="13" height="13" />');}
var SYN_ADDING_ELEMENT = function() { return $('<div class="syntax_box_adding">' + '<img class="adding" src="' + ABS_PATH() + '/img/adding_syn_box.gif"' + ' alt="作成中" title="作成中" border="0" width="28" height="28" />' + '</div>');}
var SYN_SAVING_IMG_ELEMENT = function() { return $('<img class="saving" src="' + ABS_PATH() + '/img/saving_syn_box.gif"' + ' alt="更新中" title="更新中" border="0" width="13" height="13" />');}
var SYN_COL_ELEMENT = function() { return $("div#syntax_html_template > div.syntax_column_template").clone()
.removeClass("syntax_column_template").addClass("syntax_column");}
var SYN_BOX_ELEMENT = function() { return $("div#syntax_html_template > div.syntax_box_template").clone()
.removeClass("syntax_box_template").addClass("syntax_box");}
var SYN_MENU = function() { return $("div#syn_menu_template > ul.syn_menu").clone();}
var SYN_BOX_LOADING_ELEMENT = function() { return $('<div class="syntax_box_loading">' + '<img src="' + ABS_PATH() + '/img/loading_syn_box.gif"' + ' alt="読み込み中" title="読み込み中" border="0" width="28" height="28" />' + '<div class="float_clear"></div>' + '</div>');}
var FAVORITE_LINK_LOADING_IMG = function() { return $('<img src="' + ABS_PATH() + '/img/loading_favorite_link.gif"' + ' alt="読み込み中" title="読み込み中" border="0" width="28" height="28" />' + '<div class="float_clear"></div>');}
var FAVORITE_LINK_LOADING_IMG_H2 = function() { return $('<img src="' + ABS_PATH() + '/img/loading_favorite_link_h2.gif"' + ' alt="読み込み中" title="読み込み中" border="0" width="13" height="13" />' + '<div class="float_clear"></div>');}
var SYN_BOX_ERROR_ELEMENT = function() { return $('<div class="syntax_box_error">' + '<div class="error_message">データ取得に失敗しました</div>' + '<div class="float_clear"></div>' + '<div class="get_again">再取得する</div>' + '</div>');}
var ALERT_ADDING_CATE = "新規カテゴリの作成中です。完了までお待ちください"; var ALERT_CATE_NAME_MIN_LEN = "カテゴリ名を入力してください"; var ALERT_CATE_NAME_MAX_LEN = CATE_NAME_MAX_LEN + "文字以内で入力してください"; var ALERT_CATE_NAME_NOT_UNIQUE = "同じカテゴリ名が既に存在しています"; var ALERT_ADD_CATE_ERROR = function(category_name) { return '新規カテゴリ "' + category_name + '" の作成に失敗しました';}
var ALERT_DEL_CATE_ERROR = function(category_name) { return 'カテゴリ "' + category_name + '" の削除に失敗しました';}
var ALERT_CATE_NAME_ERROR = "カテゴリ名の変更に失敗しました"; var ALERT_CATE_MAX_ERROR = "最大カテゴリ数に達しています<br>登録できるカテゴリ数は" + CATE_MAX + "までです"; var ALERT_ADD_SYN_ERROR = "ボックスの新規作成に失敗しました"; var ALERT_DEL_SYN_ERROR = function(syntax_name) { if (syntax_name.length != 0) { syntax_name = ' "' + syntax_name + '" ';}
return 'ボックス' + syntax_name + 'の削除に失敗しました';}
var ALERT_SYN_NAME_ERROR = "ボックス名の変更に失敗しました"; var ALERT_SYN_MAX_ERROR = "最大ボックス数に達しています<br>1カテゴリ内に登録できるボックス数は" + SYN_MAX + "までです"; var ALERT_SYN_SAVE_ERROR = 'ボックス（<span class="syntax_body_error_message">赤枠部分</span>）の保存に失敗しました'; var ALERT_MOVE_SYN_TO_CATE = "所属カテゴリの変更に失敗しました"; var ALERT_SYN_BODY_MAX_LEN = SYN_BODY_MAX_LEN + "文字以内で入力してください"; var ALERT_GET_FAVORITE_ERROR = "お気に入りリンクの取得に失敗しました"; var PROMPT_CATE_NAME_TITLE = "新規カテゴリ名"; var PROMPT_CATE_NEW_NAME = "新規カテゴリ名を入力してください （" + CATE_NAME_MAX_LEN + "文字以内）"; var CONFIRM_DEL_CATE = function(category_name) { return 'カテゴリ "' + category_name + '" を削除しますか？';}
var CONFIRM_DEL_CATE_RE = "[再確認] カテゴリ内のボックスも全て削除されますがよろしいですか？"; var CONFIRM_DEL_SYN = function(syntax_name) { if (syntax_name.length != 0) { syntax_name = ' "' + syntax_name + '" ';}
return "ボックス" + syntax_name + "を削除しますか？";}
var CONFIRM_MOVE_SYN_TO_CATE = function(category_name) { return 'カテゴリ "' + category_name + '" に移動しますか？';}
$(loadReference); function loadReference() { initReference(); cornerReference(); setPageSize(); setHint(); setCategoryListSelectAndSort(); setCategoryListMenuButton(); setCategoryMenuButton(); sortableSyntaxColumn(); setSyntaxEditButton(); sortableSyntaxBox(); edittableSyntax(); keydownSyntaxTextarea(); setMenuHide(); setDisableInputArea(); setShortcutKey();}
function initReference() { window.reference_edit_flag = false; window.syntax_textarea_val = new Array(); window.drag_obj = null; window.prev_obj = null; window.next_obj = null; window.prev_x = 0; window.prev_y = 0; window.next_x = 0; window.next_y = 0; window.cate_li_sort_flag = false; window.cate_li_order = 0; window.syntax_order = 0; window.frame_num = 0; window.column_num = 1; window.tab_flag = - 1; window.auto_flag = - 1; window.position_flag = - 1; window.hint_disp_syn = true;}
function cornerReference() { }
function setPageSize() { g_fixPageSize(); $.timer(100, function (timer) { timer.stop(); g_fixPageSize();}); $.timer(500, function (timer2) { timer2.stop(); g_fixPageSize();}); g_resizeWindow();}
function setHint() { var hint_message = $("div#hint_message"); if (! hint_message.length) { window.hint_disp_syn = false; return;}
if (hint_message.find("div#hint_disp_cate").length) { var hint_disp_cate = hint_message.find("div#hint_disp_cate"); hint_disp_cate
.css("top", 230)
.css("left", SYNTAXES_X - 80)
.show();}
if ($("div#syntaxes").find("div#syntax_column1").children("div.syntax_column").length) { _showHintDispSyn();}
if (hint_message.find("div#hint_guest").length) { var hint_guest = hint_message.find("div#hint_guest"); if (! hint_message.find("div#hint_disp_syn").length) { hint_guest
.css("top", $("div#reference_main").position().top + 50)
.css("left", parseInt($(window).width() / 2 - hint_guest.width() / 2))
.show();}
}
hint_message.children("div#hint_disp_cate").find("div.hint_close").click(function() { $(this).parents("div#hint_disp_cate").remove(); g_saveCookieVal(C_KEY_REF_HINT, REF_HINT_DISP_CATE);}); hint_message.children("div#hint_disp_syn").find("div.hint_close").click(function() { $(this).parents("div#hint_disp_syn").remove(); g_saveCookieVal(C_KEY_REF_HINT, REF_HINT_DISP_SYN); if (hint_message.find("div#hint_guest").length) { var hint_guest = hint_message.find("div#hint_guest"); hint_guest
.css("top", $("div#reference_main").position().top + 120)
.css("left", parseInt($(window).width() / 2 - hint_guest.width() / 2))
.show();}
}); hint_message.children("div#hint_guest").find("div.hint_close").click(function() { $(this).parents("div#hint_guest").remove(); g_saveCookieVal(C_KEY_REF_HINT, REF_HINT_GUEST);});}
function _showHintDispSyn() { if (! window.hint_disp_syn) { return;}
var hint_message = $("div#hint_message"); if (! hint_message.length) { return;}
if (! hint_message.find("div#hint_disp_syn").length) { return;}
$.timer(400, function (timer) { timer.stop(); window.hint_disp_syn = false; var hint_disp_syn = hint_message.find("div#hint_disp_syn"); hint_disp_syn.appendTo("div#reference_main"); var syntax_column = $("div#syntax_column1").find("div.syntax_column"); if (syntax_column.length) { var position = syntax_column.position(); hint_disp_syn
.css("top", position.top + syntax_column.find("div.category_name").height() * 2)
.css("left", position.left + syntax_column.width() / 3)
.show();}
});}
function setCategoryListSelectAndSort() { var category_list = $("div#category_list > ul.cate_li > li").not("li.edittable"); category_list
.mouseover(function() { if (window.cate_li_sort_flag) { return;}
if ($("ul.cate_li_menu:visible").length) { return;}
if ($(this).hasClass("check")) { $(this).addClass("check_hover");} else { if ($("div#syntax_column1, div#syntax_column2, div#syntax_column3").children().length
< g_getSyntaxColumnNum()) { $(this).addClass("hover");}
}
})
.mouseout(function() { if ($(this).hasClass("check_hover")) { $(this).removeClass("check_hover");} else { $(this).removeClass("hover");}
}); category_list.click(function() { if ($("ul.cate_li_menu:visible").length) { return;}
if (! $(this).hasClass("check") &&
$("div#syntax_column1, div#syntax_column2, div#syntax_column3").children().length
>= g_getSyntaxColumnNum()) { return;}
_changeCategoryListSelect($(this));}); _setCategoryListSort(category_list); category_list.addClass("edittable");}
function _changeCategoryListSelect(category_list) { if (! category_list.length) { return;}
if (category_list.attr("id")) { category_list.toggleClass("check"); var syntax_column = $("div#reference_main").find("div.syntax_column." + category_list.attr("id")); if (category_list.hasClass("check")) { if (! syntax_column.length) { syntax_column = _createSyntaxColumn(category_list.attr("id"), category_list.html()); _showSyntaxColumn(syntax_column, SYNTAX_COL_SHOW_SPEED); _showHintDispSyn(); g_getAjaxSyntaxesAndSaveInfo(syntax_column, category_list.attr("id"));} else { _showSyntaxColumn(syntax_column, SYNTAX_COL_SHOW_SPEED); _showHintDispSyn(); g_saveAjaxColumnInfo();}
} else { _hideSyntaxColumn(syntax_column); g_saveAjaxColumnInfo();}
g_saveCookieColumnInfo();}
}
function _createSyntaxColumn(id, name) { var new_syntax_column = SYN_COL_ELEMENT(); new_syntax_column
.addClass(id)
.find("input.cate_id").val(id).end()
.find("h2").html(name); setCategoryMenuButton(new_syntax_column); sortableSyntaxColumn(new_syntax_column); setDisableInputArea(new_syntax_column); return new_syntax_column;}
function _showSyntaxColumn(syntax_column, speed) { if (! syntax_column.length) { return;}
var syntax_column_frame = null; var column_num = g_getSyntaxColumnNum(); for (var i = 1; i <= column_num; i ++) { syntax_column_frame = $("div#syntax_column" + i); if (syntax_column_frame.children().length === 0) { syntax_column.appendTo(syntax_column_frame); break;}
if (i === column_num) { return;}
}
if (speed === undefined) { syntax_column.fadeIn("slow");} else { if (speed === 0) { syntax_column.show();} else { syntax_column.fadeIn(speed);}
}
}
function _hideSyntaxColumn(syntax_column) { if (! syntax_column.length) { return;}
syntax_column.hide(); syntax_column.appendTo($("div#syntax_column_hidden"));}
function _setCategoryListSort(category_list) { if (! g_isReferenceEditEnabled()) { return;}
if (! category_list.length) { return;}
category_list.draggable({ helper: "clone", opacity: 0.5, zIndex: 10, delay: 200, start: function(e, ui) { $(this).addClass("dragging"); window.cate_li_sort_flag = true; window.cate_li_order = $(this).prevAll().not("li.adding").length; _setCategoryListDroppableInfo($(this));}, stop: function(e, ui) { $(this).removeClass("dragging"); window.cate_li_sort_flag = false; if (window.cate_li_order != $(this).prevAll().not("li.adding").length) { g_saveAjaxCategoryOrder( $(this).attr("id"), window.cate_li_order, $(this).prevAll().not("li.adding").length );}
}, drag: function(e, ui) { if (ui.position.top > window.next_y) { window.drag_obj.insertAfter(window.next_obj); _setCategoryListDroppableInfo(); return;} else if (ui.position.top < window.prev_y) { window.drag_obj.insertBefore(window.prev_obj); _setCategoryListDroppableInfo(); return;}
}
});}
function _setCategoryListDroppableInfo(category_list) { category_list = category_list || window.drag_obj; window.drag_obj = category_list; window.prev_obj = category_list.prev(); window.next_obj = category_list.next(); if (window.prev_obj.length) { window.prev_y = category_list.position().top - category_list.height();} else { window.prev_y = - 9999;}
if (window.next_obj.length) { window.next_y = category_list.position().top + category_list.height();} else { window.next_y = 9999;}
}
function setCategoryListMenuButton() { $("div#category_list div.cate_li_menu")
.mouseover(function() { var cate_li_menu_button = $(this).children("a.cate_li_menu"); if (! cate_li_menu_button.hasClass("cate_li_menu_hover")) { cate_li_menu_button.addClass("cate_li_menu_hover");}
})
.mouseout(function() { $(this).children("a.cate_li_menu").removeClass("cate_li_menu_hover");}); $("div#category_list a.cate_li_menu").mousedown(function() { var cate_li_menu_button = $(this); var cate_li_menu = $(this).siblings("ul.cate_li_menu"); var position = cate_li_menu_button.position(); if (cate_li_menu.hasClass("cate_li_menu_hover")) { g_hideMenu();} else { g_hideMenu(); cate_li_menu.addClass("cate_li_menu_hover")
.css("top", position.top + cate_li_menu_button.height() + 2)
.css("left", position.left + cate_li_menu_button.width() - cate_li_menu.width() + 1); if (cate_li_menu.position().left < 2) { cate_li_menu.css("left", 2);}
}
}); var ul_cate_li_menu = $("div#category_list ul.cate_li_menu"); ul_cate_li_menu.children("li")
.mouseover(function() { $(this).addClass("hover");})
.mouseout(function() { $(this).removeClass("hover");}); ul_cate_li_menu.children("li.cate_new").click(function() { if ($("ul.cate_li li.adding").length) { jAlert(ALERT_ADDING_CATE, ALERT_DIALOG_TITLE); return;}
jPrompt(PROMPT_CATE_NEW_NAME, "", PROMPT_CATE_NAME_TITLE, function(category_name) { if (category_name !== null) { g_addAjaxCategory(category_name);}
}); $(this).parent().removeClass("cate_li_menu_hover");}); ul_cate_li_menu.children("li.cate_syn_col1").click(function() { _changeSyntaxColumnRow(1); $(this).parent().removeClass("cate_li_menu_hover");}); ul_cate_li_menu.children("li.cate_syn_col2").click(function() { _changeSyntaxColumnRow(2); $(this).parent().removeClass("cate_li_menu_hover");}); ul_cate_li_menu.children("li.cate_syn_col3").click(function() { _changeSyntaxColumnRow(3); $(this).parent().removeClass("cate_li_menu_hover");}); ul_cate_li_menu.children("li.favorite_link").click(function() { g_dispFavoriteLink(); $(this).parent().removeClass("cate_li_menu_hover");}); ul_cate_li_menu.children("li.help").click(function() { window.open(ABS_PATH() + "pages/help_how_to/"); $(this).parent().removeClass("cate_li_menu_hover");});}
function _changeSyntaxColumnRow(row_num) { if (row_num <= 2) { _stuffSyntaxColumnToLeft();}
for (var i = 1; i <= SYN_COL_MAX; i ++) { if (i <= row_num) { var syntax_column_frame = $("div#syntax_column" + i); syntax_column_frame
.removeClass("syntax_row1").removeClass("syntax_row2").removeClass("syntax_row3")
.removeClass("hide").addClass("syntax_row" + row_num);} else { _cancelSelectedCategoryList("syntax_column" + i); $("div#syntax_column" + i).addClass("hide");}
}
g_fixSyntaxColumnSize(row_num); g_saveAjaxColumnInfo(row_num); g_saveCookieColumnInfo();}
function _stuffSyntaxColumnToLeft() { var frame1 = $("div#syntax_column1"); var frame2 = $("div#syntax_column2"); var frame3 = $("div#syntax_column3"); var sel_syntax_column = "div.syntax_column"; if (! frame1.find(sel_syntax_column).length) { if (frame2.find(sel_syntax_column).length) { frame1.append(frame2.find(sel_syntax_column)); if (frame3.find(sel_syntax_column).length) { frame2.append(frame3.find(sel_syntax_column));}
} else if (frame3.find(sel_syntax_column).length) { frame1.append(frame3.find(sel_syntax_column));}
} else if (! frame2.find(sel_syntax_column).length) { if (frame3.find(sel_syntax_column).length) { frame2.append(frame3.find(sel_syntax_column));}
}
}
function _cancelSelectedCategoryList(frame_id) { var syntax_column = $("div#" + frame_id).find("div.syntax_column"); var category_id = syntax_column.children("input.cate_id").val(); if (category_id) { $("div#category_list > ul.cate_li > li#" + category_id).removeClass("check"); _hideSyntaxColumn(syntax_column);}
}
function showSyntaxColumnActive() { var disp_categories = $("div#category_list > ul.cate_li > li.check"); for (var i = 0; i < disp_categories.length; i ++) { var disp_category = disp_categories.eq(i); var syntax_column = _createSyntaxColumn(disp_category.attr("id"), disp_category.html()); _showSyntaxColumn(syntax_column, SYNTAX_COL_SHOW_SPEED); g_getAjaxSyntaxesAndSaveInfo(syntax_column, disp_category.attr("id"), 1);}
}
function setCategoryMenuButton(syntax_column) { var parent_obj = syntax_column || $(SELECTOR_SYN_COL); parent_obj.find("div.cate_menu")
.mouseover(function() { var cate_menu_button = $(this).children("a.cate_menu"); if (! cate_menu_button.hasClass("cate_menu_hover")) { cate_menu_button.addClass("cate_menu_hover");}
})
.mouseout(function() { $(this).children("a.cate_menu").removeClass("cate_menu_hover");}); parent_obj.find("a.cate_menu").mousedown(function() { var cate_menu_button = $(this); var cate_menu = $(this).siblings("ul.cate_menu"); var position = cate_menu_button.position(); if (cate_menu.hasClass("cate_menu_hover")) { g_hideMenu();} else { g_hideMenu(); cate_menu.addClass("cate_menu_hover")
.css("top", position.top + cate_menu_button.height() + 1)
.css("left", position.left + cate_menu_button.width() - cate_menu.width() + 1);}
}); parent_obj.find("ul.cate_menu li")
.mouseover(function() { $(this).addClass("hover");})
.mouseout(function() { $(this).removeClass("hover");}); parent_obj.find("ul.cate_menu > li.cate_syn_new").click(function() { g_addAjaxSyntax($(this).parents("div.category_name").siblings("input.cate_id").val()); $(this).parent().removeClass("cate_menu_hover");}); parent_obj.find("ul.cate_menu > li.cate_syn_min").click(function() { $(this).parents("div.syntax_column").find("a.syn_min").each(function() { _minimizeSyntaxBody($(this));}); g_saveAjaxSyntaxDispStatus($(this).parents("div.syntax_column").find("input.cate_id").val(), 0, 0); $(this).parent().removeClass("cate_menu_hover");}); parent_obj.find("ul.cate_menu > li.cate_syn_show").click(function() { $(this).parents("div.syntax_column").find("a.syn_show").each(function() { _showSyntaxBody($(this));}); g_saveAjaxSyntaxDispStatus($(this).parents("div.syntax_column").find("input.cate_id").val(), 0, 1); $(this).parent().removeClass("cate_menu_hover");}); parent_obj.find("ul.cate_menu > li.cate_link").click(function() { var syntax_column = $(this).parents("div.syntax_column"); var category_id = syntax_column.children("input.cate_id").val(); var category_id_num = g_cutCategoryIdStr(category_id); var user_id = ""; if (OTHER_FLAG() == 1) { user_id = OTHER_ID();} else { user_id = SELF_ID();}
window.open(ABS_PATH() + "category/" + category_id_num + "/" + user_id); $(this).parent().removeClass("cate_menu_hover");}); parent_obj.find("ul.cate_menu > li.cate_min").click(function() { var frame = $(this).parents("div.syntax_column").parent(); var frame_id = frame.attr("id"); _cancelSelectedCategoryList(frame_id); $(this).parent().removeClass("cate_menu_hover"); $(this).parent().siblings("a").removeClass("cate_menu_hover"); $(this).removeClass("hover"); g_saveAjaxColumnInfo();}); parent_obj.find("ul.cate_menu > li.cate_name").click(function() { $(this).parent().removeClass("cate_menu_hover"); g_startNameEdit( "div.category_name", "h2", $(this).parents("div.category_name").children("h2"), CATE_NAME_MAX_LEN );}); parent_obj.find("ul.cate_menu > li.cate_delete").click(function() { $(this).parent().removeClass("cate_menu_hover"); var syntax_column = $(this).parents("div.syntax_column"); var category_name = syntax_column.find("div.category_name h2").text(); var category_id = syntax_column.children("input.cate_id").val(); window.re_confirm_on = true; jConfirm(CONFIRM_DEL_CATE(category_name), CONFIRM_DIALOG_TITLE, function(ret) { if (ret) { jConfirm(CONFIRM_DEL_CATE_RE, CONFIRM_DIALOG_TITLE, function(ret_re) { if (ret_re) { g_delAjaxCategory(syntax_column, category_id, category_name);}
});}
});});}
function sortableSyntaxColumn(syntax_column) { _ddSyntaxColumn(syntax_column);}
function _ddSyntaxColumn(syntax_column) { syntax_column = syntax_column || $(SELECTOR_SYN_COL); syntax_column.find("div.category_name")
.mouseover(function() { $(this).addClass("hover");})
.mouseout(function() { $(this).removeClass("hover");}); syntax_column.draggable({ handle: "div.category_name", helper: "clone", cancel: "input, div.syntax_box, div.cate_menu", opacity: 0.5, zIndex: 10, delay: 0, start: function(e, ui) { $(this).addClass("syntax_column_dragging"); window.frame_num = g_getSyntaxColumnFrameNum($(this)); _setSyntaxColumnDroppableInfo($(this));}, stop: function(e, ui) { $(this).removeClass("syntax_column_dragging"); if (window.frame_num != g_getSyntaxColumnFrameNum($(this))) { g_saveAjaxColumnInfo(); g_saveCookieColumnInfo();}
}, drag: function(e, ui) { if (window.column_num === 1) { return;}
if (ui.position.left + window.drag_obj.width() > window.next_x) { if (window.next_obj.children().length !== 0) { window.next_obj.children().insertAfter(window.drag_obj);}
window.drag_obj.appendTo(window.next_obj); _setSyntaxColumnDroppableInfo($(this)); return;} else if (ui.position.left < window.prev_x) { if (window.prev_obj.children().length !== 0) { window.prev_obj.children().insertAfter(window.drag_obj);}
window.drag_obj.appendTo(window.prev_obj); _setSyntaxColumnDroppableInfo($(this)); return;}
}
});}
function _setSyntaxColumnDroppableInfo(syntax_column) { syntax_column = syntax_column || window.drag_obj; window.drag_obj = syntax_column; window.column_num = g_getSyntaxColumnNum(); window.prev_obj = null; window.next_obj = null; window.prev_x = - 9999; window.next_x = 9999; if (window.column_num === 1) { return;}
var frame_num = g_getSyntaxColumnFrameNum(window.drag_obj); if (window.column_num >= 2 && window.column_num <= 3) { switch (frame_num) { case 1:
window.next_obj = $("div#syntax_column2"); window.next_x = window.next_obj.position().left + window.next_obj.width() / 2; break; case 2:
window.prev_obj = $("div#syntax_column1"); window.prev_x = window.prev_obj.position().left + window.prev_obj.width() / 2; if (window.column_num === 3) { window.next_obj = $("div#syntax_column3"); window.next_x = window.next_obj.position().left + window.next_obj.width() / 2;}
break; case 3:
if (window.column_num === 3) { window.prev_obj = $("div#syntax_column2"); window.prev_x = window.prev_obj.position().left + window.prev_obj.width() / 2;}
break; default:
break;}
}
}
function setSyntaxEditButton(syntax_column) { var parent_obj = syntax_column || $(SELECTOR_SYN_COL); var syntax_name_obj = parent_obj.find("div.syntax_name").not("div.edittable"); syntax_name_obj.find("a.syn_min, a.syn_show, a.syn_menu")
.mouseover(function() { if (! $(this).hasClass($(this).attr("class") + "_hover")) { $(this).addClass($(this).attr("class") + "_hover");}
})
.mouseout(function() { if ($(this).hasClass("syn_min_hover")) { $(this).removeClass("syn_min_hover");} else if ($(this).hasClass("syn_show_hover")) { $(this).removeClass("syn_show_hover");} else if ($(this).hasClass("syn_menu_hover")) { $(this).removeClass("syn_menu_hover");}
}); syntax_name_obj.click(function() { var button = $(this).find("a"); if (button.hasClass("syn_menu_hover")) { return;}
if (window.reference_edit_flag) { return;}
button = button.filter("a.syn_show, a.syn_min"); if (_getSyntaxBodyFromEditButton(button).hasClass("syntax_body_hide")) { _showSyntaxBody(button); g_saveAjaxSyntaxDispStatus( $(this).parent().siblings("input.cate_id").val(), $(this).siblings("input.syn_id").val(), 1 );} else { _minimizeSyntaxBody(button); g_saveAjaxSyntaxDispStatus( $(this).parent().siblings("input.cate_id").val(), $(this).siblings("input.syn_id").val(), 0 );}
}); syntax_name_obj.find("a.syn_menu").mousedown(function() { var syn_menu_button = $(this); var syn_menu = $(this).siblings("ul.syn_menu"); if (! syn_menu.length) { $(this).after(SYN_MENU()); syn_menu = $(this).siblings("ul.syn_menu"); syn_menu
.mouseover(function() { $(this).siblings("a.syn_menu").addClass("syn_menu_hover");})
.mouseout(function() { $(this).siblings("a.syn_menu").removeClass("syn_menu_hover");}); syn_menu.children("li")
.mouseover(function() { $(this).addClass("hover");})
.mouseout(function() { $(this).removeClass("hover");}); $(this).siblings("ul.syn_menu").children("li.syn_name").click(function() { $(this).parent().removeClass("syn_menu_hover"); g_startNameEdit( "div.syntax_name", "h3", $(this).parents("div.syntax_name").children("h3"), SYN_NAME_MAX_LEN );}); $(this).siblings("ul.syn_menu").children("li.syn_delete").click(function() { $(this).parent().removeClass("syn_menu_hover"); var syntax_box = $(this).parents("div.syntax_box"); var syntax_name = syntax_box.find("h3").text(); jConfirm(CONFIRM_DEL_SYN(syntax_name), CONFIRM_DIALOG_TITLE, function(ret) { if (ret) { g_delAjaxSyntax(syntax_box, syntax_box.find("input.syn_id").val(), syntax_name);}
});});}
var position = syn_menu_button.position(); if (syn_menu.hasClass("syn_menu_hover")) { g_hideMenu();} else { g_hideMenu(); syn_menu.addClass("syn_menu_hover")
.css("top", position.top + syn_menu_button.height() + 1)
.css("left", position.left + syn_menu_button.width() - syn_menu.width() + 1);}
}); syntax_name_obj.addClass("edittable");}
function _minimizeSyntaxBody(min_button) { var show_button = null; _getSyntaxBodyFromEditButton(min_button).addClass("syntax_body_hide"); min_button.addClass("button_hide"); show_button = min_button.siblings("a.syn_show").removeClass("button_hide"); return show_button;}
function _showSyntaxBody(show_button) { var min_buton = null; _getSyntaxBodyFromEditButton(show_button).removeClass("syntax_body_hide"); show_button.addClass("button_hide"); min_buton = show_button.siblings("a.syn_min").removeClass("button_hide"); return min_buton;}
function _getSyntaxBodyFromEditButton(edit_button) { return edit_button.parents("div.syntax_box").children("div.syntax_body");}
function sortableSyntaxBox(syntax_column) { _ddSyntaxBox(syntax_column);}
function _ddSyntaxBox(syntax_column) { var parent_obj = syntax_column || $(SELECTOR_SYN_COL); parent_obj.find("div.syntax_name")
.mouseover(function() { $(this).addClass("hover");})
.mouseout(function() { $(this).removeClass("hover");}); parent_obj.find("div.syntax_box").draggable({ handle: "div.syntax_name", helper: "clone", cancel: "input, div.syntax_body, a.syn_min, a.syn_show, a.syn_menu, ul.syn_menu", opacity: 0.5, zIndex: 10, delay: 0, start: function(e, ui) { $(this).addClass("syntax_box_dragging"); window.syntax_order = $(this).prevAll("div.syntax_box").length; _setSyntaxBoxDroppableInfo($(this)); _setSyntaxBoxToCategoryDroppableInfo($(this).parent());}, stop: function(e, ui) { $(this).removeClass("syntax_box_dragging"); var drag_box = window.drag_obj; do { if (! g_isReferenceEditEnabled()) { break;}
if (window.column_num <= 1) { break;}
if (ui.position.left > window.next_x || ui.position.left < window.prev_x) { var dst_frame_num = null; var frame_num = g_getSyntaxColumnFrameNum(drag_box.parent()); if (ui.position.left > window.next_x) { if (frame_num == window.column_num) { break;} else if (ui.position.left > (window.next_x + drag_box.width())) { dst_frame_num = frame_num + 2;} else { dst_frame_num = frame_num + 1;}
} else if (ui.position.left < window.prev_x) { if (frame_num == 1) { break;} else if (ui.position.left < (window.prev_x - drag_box.width())) { dst_frame_num = frame_num - 2;} else { dst_frame_num = frame_num - 1;}
}
dst_syntax_column = $("div#syntax_column" + dst_frame_num).children("div.syntax_column"); if (! dst_syntax_column.length) { break;}
drag_box.addClass("syntax_box_dropping"); dst_syntax_column.addClass("syntax_box_dropped"); var category_name = dst_syntax_column.find("div.category_name h2").text(); jConfirm(CONFIRM_MOVE_SYN_TO_CATE(category_name), CONFIRM_DIALOG_TITLE, function(ret) { drag_box.removeClass("syntax_box_dropping"); dst_syntax_column.removeClass("syntax_box_dropped"); if (ret) { g_changeAjaxSyntaxCategory(drag_box, dst_syntax_column, window.syntax_order);} else { if (window.syntax_order != drag_box.prevAll("div.syntax_box").length) { g_saveAjaxSyntaxOrder( drag_box.siblings("input.cate_id").val(), drag_box.find("input.syn_id").val(), window.syntax_order, drag_box.prevAll("div.syntax_box").length );}
}
}); return;}
} while (false); if (window.syntax_order != drag_box.prevAll("div.syntax_box").length) { g_saveAjaxSyntaxOrder( drag_box.siblings("input.cate_id").val(), drag_box.find("input.syn_id").val(), window.syntax_order, drag_box.prevAll("div.syntax_box").length );}
}, drag: function(e, ui) { if (ui.position.top + window.drag_obj.height() > window.next_y) { window.drag_obj.insertAfter(window.next_obj); _setSyntaxBoxDroppableInfo(); return;} else if (ui.position.top < window.prev_y) { window.drag_obj.insertBefore(window.prev_obj); _setSyntaxBoxDroppableInfo(); return;}
}
});}
function _setSyntaxBoxDroppableInfo(syntax_box) { syntax_box = syntax_box || window.drag_obj; window.drag_obj = syntax_box; window.prev_obj = syntax_box.prevAll("div.syntax_box").not("div.ui-draggable-dragging"); window.next_obj = syntax_box.nextAll("div.syntax_box").not("div.ui-draggable-dragging"); if (window.prev_obj.length && window.prev_obj.eq(0).length) { window.prev_obj = window.prev_obj.eq(0); window.prev_y = window.prev_obj.position().top + window.prev_obj.height() / 2;} else { window.prev_y = - 9999;}
if (window.next_obj.length && window.next_obj.eq(0).length) { window.next_obj = window.next_obj.eq(0); window.next_y = window.next_obj.position().top + window.next_obj.height() / 2;} else { window.next_y = 9999;}
}
function _setSyntaxBoxToCategoryDroppableInfo(syntax_column) { window.column_num = g_getSyntaxColumnNum(); window.prev_x = syntax_column.position().left - syntax_column.width() / 2; window.next_x = window.prev_x + syntax_column.width();}
function edittableSyntax(syntax_column) { if (! g_isReferenceEditEnabled()) { return;}
_setSyntaxEditStart(syntax_column); _setSyntaxEditEnd(syntax_column);}
function _setSyntaxEditStart(parent_obj) { parent_obj = parent_obj || $(SELECTOR_SYN_COL); var syntax_pre_obj = parent_obj.find("div.syntax_body > pre").not("pre.edittable"); syntax_pre_obj.dblclick(function() { g_disableInputArea(); var syntax_pre = $(this); var syntax_textarea = g_getTextareaFromSyntaxPre(syntax_pre); _startSyntaxEdit(syntax_textarea, syntax_pre);}); syntax_pre_obj.addClass("edittable");}
function _startSyntaxEdit(syntax_textarea, syntax_pre) { if (! syntax_textarea.length || ! syntax_pre.length) { return;}
var pre_height = syntax_pre.height(); syntax_pre.hide(); syntax_textarea.show(); window.reference_edit_flag = true; var syntax_id = syntax_textarea.parent().siblings("input.syn_id").val(); window.syntax_textarea_val[syntax_id] = syntax_textarea.val(); syntax_textarea.css("width", syntax_pre.parents("div.syntax_column").find("div.category_name").width() - 9); g_setTextareaHeight(syntax_textarea, pre_height); syntax_textarea.focus();}
function _setSyntaxEditEnd(syntax_column) { var parent_obj = syntax_column || $(SELECTOR_SYN_COL); if (g_isAutoEnabled()) { parent_obj.find("div.syntax_body textarea").blur(function() { if (window.reference_edit_flag) { _endSyntaxEdit($(this));}
});} else { parent_obj.find("div.syntax_body textarea").blur(function() { window.reference_edit_flag = false;}); parent_obj.find("div.syntax_body textarea").focus(function() { window.reference_edit_flag = true;});}
}
function _endSyntaxEdit(syntax_textarea) { if (! syntax_textarea.length) { return;}
var syntax_pre = g_getPreFromSyntaxText(syntax_textarea); g_setSyntaxTextToPre(syntax_textarea); syntax_textarea.hide(); syntax_pre.show(); $.timer(100, function (timer) { timer.stop(); window.reference_edit_flag = false;}); var syntax_box = syntax_textarea.parents("div.syntax_box"); var syntax_id = syntax_box.children("input.syn_id").val(); g_saveAjaxSyntaxBody(syntax_box, syntax_id);}
function keydownSyntaxTextarea(syntax_column) { var parent_obj = syntax_column || $(SELECTOR_SYN_COL); var textarea = parent_obj.find("div.syntax_body textarea").not("textarea.keydown"); textarea.keydown(function(e) { if (e.keyCode == 13) { if (e.ctrlKey == true) { _endSyntaxEdit($(this)); return;}
g_addTextareaRow($(this), 1);} else if (e.keyCode == 83) { if (e.ctrlKey == true) { _endSyntaxEdit($(this)); return false;}
}
}); textarea.keyup(function(e) { if ((e.keyCode == 8 || e.keyCode == 46) || (e.keyCode == 86 && e.ctrlKey == true)) { g_resizeTextarea($(this));}
}); if (g_isTabEnabled()) { textarea.tabby();}
textarea.addClass("keydown");}
function setMenuHide() { $(document).click(function() { if ($("div#reference_side").find("a.cate_li_menu").hasClass("cate_li_menu_hover") || $("div#reference_main").find("a.cate_menu").hasClass("cate_menu_hover") || $(SELECTOR_SYN_COL).find("a.syn_menu").hasClass("syn_menu_hover")) { return;}
g_hideMenu(); g_hideFavoriteLink()
});}
function setDisableInputArea(syntax_column) { var parent_obj = syntax_column || $(SELECTOR_SYN_COL); parent_obj.find("div.category_name, div.syntax_name").mousedown(function() { if ($(this).find("input").length) { return;}
g_disableInputArea();});}
function setShortcutKey() { $(document).keydown(function(e) { if (e.keyCode == 83) { if (e.ctrlKey == true) { return false;}
}
}); $(document).keyup(function(e) { switch (e.keyCode) { case 69:
case 70:
case 49: case 97:
case 50: case 98:
case 51: case 99:
if (window.reference_edit_flag) { return;}
if ($("body").children("div#popup_container").length >= 1) { return;}
break; default:
return;}
switch (e.keyCode) { case 69:
$("div#syntax_column1, div#syntax_column2, div#syntax_column3").not("div.hide")
.find("div.syntax_body").not("div.syntax_body_hide").eq(0).children("pre").trigger("dblclick"); break; case 70:
var favorite_link = $("div#container").children("div#favorite_link"); if (favorite_link.length && ! favorite_link.hasClass("hide")) { g_hideFavoriteLink();} else { g_dispFavoriteLink();}
break; case 49: case 97:
$("div#category_list ul.cate_li_menu").children("li.cate_syn_col1").trigger("click"); break; case 50: case 98:
$("div#category_list ul.cate_li_menu").children("li.cate_syn_col2").trigger("click"); break; case 51: case 99:
$("div#category_list ul.cate_li_menu").children("li.cate_syn_col3").trigger("click"); break; default:
break;}
});}
function g_fixPageSize() { var fix_val = 18; var height = $(window).height() - ($("div#header").height() + $("div#personal_menu").height()) - fix_val; if ($("div#message_block:visible").length) { height -= $("div#message_block").height();}
$("div#contents").height(height); $("div#category_list > ul.cate_li").height(height - ($("div#cate_li_name h2").height() + 3)); var reference_width = ($(window).width() - SYNTAXES_X); $("div#syntaxes")
.height(height)
.width(reference_width); $("div#syntaxes_loading").remove(); $("div#syntaxes").removeClass("loading"); g_fixSyntaxColumnSize();}
function g_fixSyntaxColumnSize(row_num) { row_num = row_num || null; var syntax_column = $("div#syntaxes").children("div#syntax_column1, div#syntax_column2, div#syntax_column3"); var reference_width = ($(window).width() - SYNTAXES_X); var scrollbar_width = 18; if (row_num) { syntax_column.width((reference_width - scrollbar_width) / row_num); return;}
if (syntax_column.hasClass("syntax_row1")) { syntax_column.width((reference_width - scrollbar_width) / 1);} else if (syntax_column.hasClass("syntax_row2")) { syntax_column.width((reference_width - scrollbar_width) / 2);} else if (syntax_column.hasClass("syntax_row3")) { syntax_column.width((reference_width - scrollbar_width) / 3);}
}
function g_resizeWindow() { $(window).resize(function() { g_fixPageSize();});}
function g_cutCategoryIdStr(category_id) { if (! category_id) { return 0;} else { return category_id.substr("cate_id".length);}
}
function g_cutSyntaxIdStr(syntax_id) { if (! syntax_id) { return 0;} else { return syntax_id.substr("syn_id".length);}
}
function g_getCategoryIdNums() { var cate_id1 = $("div#syntax_column1:visible div.syntax_column").not("div.ui-draggable-dragging").find("input.cate_id").val(); var cate_id2 = $("div#syntax_column2:visible div.syntax_column").not("div.ui-draggable-dragging").find("input.cate_id").val(); var cate_id3 = $("div#syntax_column3:visible div.syntax_column").not("div.ui-draggable-dragging").find("input.cate_id").val(); var ary_id_num = []; ary_id_num["cate_id1"] = g_cutCategoryIdStr(cate_id1); ary_id_num["cate_id2"] = g_cutCategoryIdStr(cate_id2); ary_id_num["cate_id3"] = g_cutCategoryIdStr(cate_id3); return ary_id_num;}
function g_getSyntaxColumnFrameNum(syntax_column) { if (! syntax_column.length) { return false;}
var frame_num = syntax_column.parent().attr("id"); frame_num = parseInt(frame_num.substr("syntax_column".length)); return frame_num;}
function g_getSyntaxColumnNum() { var syntax_column_frame = $("div#syntax_column1"); var column_num = 0; for (var i = 1; i <= SYN_COL_MAX; i ++) { if (syntax_column_frame.hasClass("syntax_row" + i)) { column_num = i; break;}
}
return column_num;}
function g_isReferenceEditEnabled() { if (OTHER_FLAG() == 1) { return false;} else { return true;}
}
function g_isTabEnabled() { if (window.tab_flag !== - 1) { return window.tab_flag;}
if ($("div#config > input.tab_flag").val() == 1) { window.tab_flag = true;} else { window.tab_flag = false;}
return window.tab_flag;}
function g_isAutoEnabled() { if (window.auto_flag !== - 1) { return window.auto_flag;}
if ($("div#config > input.auto_flag").val() == 1) { window.auto_flag = true;} else { window.auto_flag = false;}
return window.auto_flag;}
function g_isSavePositionEnabled() { if (window.position_flag !== - 1) { return window.position_flag;}
if ($("div#config > input.position_flag").val() == 1) { window.position_flag = true;} else { window.position_flag = false;}
return window.position_flag;}
function g_hideMenu() { var cate_li_menu = $("ul.cate_li_menu:visible"); if (cate_li_menu.length) { cate_li_menu.removeClass("cate_li_menu_hover");}
var cate_menu = $("ul.cate_menu:visible"); if (cate_menu.length) { cate_menu.removeClass("cate_menu_hover");}
var syn_menu = $(SELECTOR_SYN_COL).find("ul.syn_menu:visible"); if (syn_menu.length) { syn_menu.removeClass("syn_menu_hover");}
}
function g_dispFavoriteLink() { var favorite_link = $("div#container").children("div#favorite_link, div#favorite_link_loading"); if (! favorite_link.length) { g_getAjaxFavoriteLink();} else { favorite_link.removeClass("hide");}
}
function g_hideFavoriteLink() { var favorite_link = $("div#container").children("div#favorite_link"); if (favorite_link.length && ! favorite_link.hasClass("hover")) { favorite_link.addClass("hide");}
}
function g_setTextareaHeight(textarea_obj, height) { height = height || false; if (! textarea_obj.length) { return;}
g_resizeTextarea(textarea_obj);}
function g_resizeTextarea(textarea_obj, add_row) { add_row = add_row || 0; if (! textarea_obj.length) { return;}
var textarea_val = textarea_obj.val(); var match_str = textarea_val.match(/\n/g); if (match_str) { if ($.browser["msie"]) { add_row += (2 + parseInt(match_str.length * 0.1)); textarea_obj.attr("rows", match_str.length + add_row);} else if ($.browser["safari"]) { add_row += 1; textarea_obj.attr("rows", match_str.length + add_row);} else if ($.browser["opera"]) { add_row += 1; textarea_obj.attr("rows", match_str.length + add_row);} else { textarea_obj.attr("rows", match_str.length + add_row);}
} else { if ($.browser["msie"]) { textarea_obj.attr("rows", 2);} else if ($.browser["safari"]) { textarea_obj.attr("rows", 2);} else if ($.browser["opera"]) { textarea_obj.attr("rows", 2);} else { textarea_obj.attr("rows", 1);}
}
}
function g_addTextareaRow(textarea_obj, add_row) { if (! textarea_obj.length) { return;}
textarea_obj.attr("rows", textarea_obj.attr("rows") + add_row);}
function g_getTextareaFromSyntaxPre(syntax_pre) { return syntax_pre.siblings("textarea");}
function g_getPreFromSyntaxText(syntax_textarea) { return syntax_textarea.siblings("pre");}
function g_setSyntaxTextToPre(syntax_textarea) { if (! syntax_textarea.length) { return;}
var syntax_pre = g_getPreFromSyntaxText(syntax_textarea); var syntax_column = syntax_pre.parents("div.syntax_column"); var textarea_val = g_changeSyntaxTextToPre(syntax_textarea); if (syntax_pre.hasClass("error")) { syntax_pre.replaceWith($('<pre class="error">' + textarea_val + '</pre>'));} else { syntax_pre.replaceWith($('<pre>' + textarea_val + '</pre>'));}
_setSyntaxEditStart(syntax_column);}
function g_changeSyntaxTextToPre(syntax_textarea) { if (! syntax_textarea.length) { return;}
var textarea_val = syntax_textarea.val(); if (textarea_val.match(/(^\n)/)) { textarea_val = "\n" + textarea_val;}
if (textarea_val.match(/(\n$)/)) { textarea_val += "\n";}
textarea_val = g_escapeWithSpace(textarea_val); textarea_val = textarea_val.replace(/(\[)(.+?)(\])(\n|$)/g, '<span class="sub_title">$1$2$3</span>$4'); textarea_val = textarea_val.replace(new RegExp("(http|https|ftp)(://)([^\<]+?)(\]|&nbsp;|\n|$)", "g"), '<a href="$1$2$3" target="_blank">$1$2$3</a>$4'); textarea_val = textarea_val.replace(new RegExp("\t", "g"), "&#x0009;"); return textarea_val;}
function g_escapeWithSpace(name) { name = name.replace(new RegExp("&", "g"), "&amp;"); name = name.replace(new RegExp("\"", "g"), "&quot;"); name = name.replace(new RegExp("'", "g"), "&#039;"); name = name.replace(new RegExp("<", "g"), "&lt;"); name = name.replace(new RegExp(">", "g"), "&gt;"); name = name.replace(new RegExp("\x20", "g"), "&nbsp;"); return name;}
function g_setSyntaxBoxEvent(syntax_column) { setSyntaxEditButton(syntax_column); sortableSyntaxBox(syntax_column); edittableSyntax(syntax_column); keydownSyntaxTextarea(syntax_column); setDisableInputArea(syntax_column);}
function g_setNameEditStart(parent_selector, name_selector, max_length, syntax_column) { var parent_obj = syntax_column || $(SELECTOR_SYN_COL); var name = parent_obj.find(parent_selector).not("div.edittable"); name.find(name_selector)
.mouseover(function() { $(this).addClass("hover");})
.mouseout(function() { $(this).removeClass("hover");}); name.dblclick(function() { var button = $(this).find("a"); if (button.hasClass("cate_menu_hover") || button.hasClass("syn_min_hover") || button.hasClass("syn_show_hover")) { return;}
if (! name.find(name_selector).hasClass("hover")) { return;}
g_startNameEdit(parent_selector, name_selector, $(this).find(name_selector), max_length);}); name.addClass("edittable");}
function g_startNameEdit(parent_selector, name_selector, name_obj, max_length) { if (! g_isReferenceEditEnabled()) { return;}
if (! name_obj.length) { return;}
g_disableInputArea(); var name_str = name_obj.text(); var parent_obj = name_obj.parent(); if (name_str !== "") { name_str = g_escapeWithSpace(name_str);}
name_obj.replaceWith('<input class="text" type="text"' + ' maxlength="' + max_length + '"' + ' value="' + name_str + '"' + ' pre_value="' + name_str + '"' + ' />'); window.reference_edit_flag = true; g_keydownEnterOfInputArea(parent_obj); g_setNameEditEnd(parent_selector, name_selector); $.timer(50, function (timer) { timer.stop(); parent_obj.find("input.text").focus();});}
function g_setNameEditEnd(parent_selector, name_selector, syntax_column) { var parent_obj = syntax_column || $(SELECTOR_SYN_COL); parent_obj.find(parent_selector).find("input.text").blur(function() { g_endNameEdit($(this), name_selector);});}
function g_endNameEdit(name_input, name_selector) { if (! name_input.length) { return;}
var name_input_parent = name_input.parent(); var input_val = name_input.val(); var pre_val = name_input.attr("pre_value"); if (name_input.parents("div.category_name").length) { if (input_val.length === 0) { input_val = pre_val;} else { if (input_val !== pre_val) { var syntax_column = name_input.parents("div.syntax_column"); var category_id = syntax_column.children("input.cate_id").val(); $("div#category_list").find("li#" + category_id).html(g_escapeWithSpace(input_val)); g_saveAjaxCategoryName(syntax_column, category_id, input_val, pre_val);}
}
} else if (name_input.parents("div.syntax_name").length) { if (input_val !== pre_val) { var syntax_box = name_input.parents("div.syntax_box"); var syntax_id = syntax_box.children("input.syn_id").val(); g_saveAjaxSyntaxName(syntax_box, syntax_id, input_val, pre_val);}
}
name_input.replaceWith("<" + name_selector + ">" + g_escapeWithSpace(input_val) + "</" + name_selector + ">"); name_input_parent.find(name_selector)
.mouseover(function() { $(this).addClass("hover");})
.mouseout(function() { $(this).removeClass("hover");}); $.timer(100, function (timer) { timer.stop(); window.reference_edit_flag = false;});}
function g_disableInputArea() { g_endNameEdit($("div.category_name > input.text"), "h2"); g_endNameEdit($("div.syntax_name > input.text"), "h3"); if (g_isAutoEnabled()) { _endSyntaxEdit($("div.syntax_body > textarea:visible"));}
}
function g_keydownEnterOfInputArea(parent_obj) { parent_obj = parent_obj || $(SELECTOR_SYN_COL); parent_obj.find("input.text").keydown(function(e) { if (e.keyCode == 13) { $(this).trigger("blur");}
});}
function g_saveCookieVal(key, val) { var now_val = $.cookie(key); if (now_val) { now_val = now_val + "x" + val;} else { now_val = val;}
$.cookie(key, null); $.cookie(key, now_val, {expires: C_COMMON_EXPIRE, path: "/"});}
function g_saveCookieColumnInfo() { if (OTHER_ID() != DEFAULT_REF_USER_ID) { return;}
var ary_id_num = g_getCategoryIdNums(); var row_num = $("div#syntax_column1, div#syntax_column2, div#syntax_column3").not("div.hide").length; var cookie_column_info = row_num + "x" + ary_id_num["cate_id1"] + "x" + ary_id_num["cate_id2"] + "x" + ary_id_num["cate_id3"]; $.cookie(C_KEY_COL_INFO, null); $.cookie(C_KEY_COL_INFO, cookie_column_info, {expires: C_COMMON_EXPIRE, path: "/"});}
function g_getAjaxSyntaxesAndSaveInfo(syntax_column, category_id, save_off) { save_off = save_off || 0; if (! syntax_column.length || ! category_id) { return;}
var other_id = ""; if (OTHER_FLAG() == 1) { other_id = OTHER_ID();}
syntax_column.find("div.syntax_box_error").remove(); syntax_column.append(SYN_BOX_LOADING_ELEMENT()); var category_id_num = g_cutCategoryIdStr(category_id); var send_data = null; if (! save_off && g_isReferenceEditEnabled() && g_isSavePositionEnabled()) { var ary_id_num = g_getCategoryIdNums(); send_data = { "cate1": ary_id_num["cate_id1"], "cate2": ary_id_num["cate_id2"], "cate3": ary_id_num["cate_id3"]
};}
$.ajax({ url: AJAX_PATH_SYNTAX() + "getAjaxSyntaxes/" + category_id_num + "/" + other_id, data: send_data, type: "GET", dataType: "html", cache: false, success: function(data, status) { syntax_column.find("div.syntax_box_loading").remove(); switch (data) { case AJAX_ERROR:
g_dispSyntaxBoxError(syntax_column, category_id); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; default:
syntax_column.append(data); g_setSyntaxBoxEvent(syntax_column); break;}
}, error: function(XMLHttpRequest, status, errorThrown) { syntax_column.find("div.syntax_box_loading").remove(); g_dispSyntaxBoxError(syntax_column, category_id);}
});}
function g_dispSyntaxBoxError(syntax_column, category_id) { if (syntax_column.length === 0) { return;}
var syntax_box_error = SYN_BOX_ERROR_ELEMENT(); syntax_column.append(syntax_box_error); syntax_box_error.find("div.get_again")
.mouseover(function() { $(this).addClass("hover");})
.mouseout(function() { $(this).removeClass("hover");})
.click(function() { g_getAjaxSyntaxesAndSaveInfo(syntax_column, category_id);});}
function g_saveAjaxColumnInfo(column_num) { column_num = column_num || 0; if (! g_isReferenceEditEnabled()) { return;}
if (! g_isSavePositionEnabled()) { return;}
var ary_id_num = g_getCategoryIdNums(); $.ajax({ url: AJAX_PATH_CONFIG() + "saveAjaxColumnInfo/" + ary_id_num["cate_id1"] + "/" + ary_id_num["cate_id2"] + "/" + ary_id_num["cate_id3"] + "/" + column_num, data: null, type: "GET", dataType: "text", cache: false, success: function(data, status) { }, error: function(XMLHttpRequest, status, errorThrown) { }
});}
function g_addAjaxCategory(category_name) { if (! g_isReferenceEditEnabled()) { return;}
var ul = $("div#category_list > ul.cate_li"); if (category_name.length === 0) { jAlert(ALERT_CATE_NAME_MIN_LEN, ALERT_DIALOG_TITLE); return;} else if (category_name.length > CATE_NAME_MAX_LEN) { jAlert(ALERT_CATE_NAME_MAX_LEN, ALERT_DIALOG_TITLE); return;}
ul.prepend(CATE_ADDING_ELEMENT()); var send_data = { "name": category_name
}; $.ajax({ url: AJAX_PATH_CATEGORY() + "addAjaxCategory/", data: send_data, type: "GET", dataType: "json", cache: false, success: function(data, status) { ul.find("li.adding").remove(); switch (data) { case AJAX_ERROR:
jAlert(ALERT_ADD_CATE_ERROR(category_name), ALERT_DIALOG_TITLE); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; case AJAX_ERROR_NOT_UNIQUE:
jAlert(ALERT_CATE_NAME_NOT_UNIQUE, ALERT_DIALOG_TITLE); break; case AJAX_ERROR_MAX_CATEGORY:
jAlert(ALERT_CATE_MAX_ERROR, ALERT_DIALOG_TITLE); break; default:
var new_name = g_escapeWithSpace(data["name"]); var new_id = "cate_id" + data["id"]; ul.prepend($('<li id=' + new_id + '>' + new_name + '</li>')); setCategoryListSelectAndSort(); var new_syntax_column = _createSyntaxColumn(new_id, new_name); new_syntax_column.appendTo($("div#syntax_column_hidden")); break;}
}, error: function(XMLHttpRequest, status, errorThrown) { ul.find("li.adding").remove(); jAlert(ALERT_ADD_CATE_ERROR(category_name), ALERT_DIALOG_TITLE);}
});}
function g_delAjaxCategory(syntax_column, category_id, category_name) { if (! g_isReferenceEditEnabled()) { return;}
if (syntax_column.length === 0) { return;}
var category_ul = $("div#category_list > ul.cate_li"); var category_list = category_ul.find("li#" + category_id); var category_name_obj = syntax_column.find("div.category_name"); var category_id_num = g_cutCategoryIdStr(category_id); category_list.append(CATE_LI_SAVING_IMG_ELEMENT()); category_list.find("img.saving")
.css("left", category_list.position().left + category_list.width() - 13); category_name_obj.find("h2").after(CATE_TITLE_SAVING_IMG_ELEMENT()); var send_data = { "category_id": category_id_num
}; $.ajax({ url: AJAX_PATH_CATEGORY() + "delAjaxCategory/", data: send_data, type: "POST", dataType: "text", cache: false, success: function(data, status) { category_list.find("img.saving").remove(); category_name_obj.find("img.saving").remove(); switch (data) { case AJAX_ERROR:
jAlert(ALERT_DEL_CATE_ERROR(category_name), ALERT_DIALOG_TITLE); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; case AJAX_SUCCESS:
category_list.remove(); syntax_column.remove(); break; default:
break;}
}, error: function(XMLHttpRequest, status, errorThrown) { category_list.find("img.saving").remove(); category_name_obj.find("img.saving").remove(); jAlert(ALERT_DEL_CATE_ERROR(category_name), ALERT_DIALOG_TITLE);}
});}
function g_saveAjaxCategoryName(syntax_column, category_id, category_name, pre_name) { if (! g_isReferenceEditEnabled()) { return;}
if (syntax_column.length === 0) { return;}
var category_ul = $("div#category_list > ul.cate_li"); var category_list = category_ul.find("li#" + category_id); var category_name_obj = syntax_column.find("div.category_name"); var category_id_num = g_cutCategoryIdStr(category_id); category_list.append(CATE_LI_SAVING_IMG_ELEMENT()); category_list.find("img.saving")
.css("left", category_list.position().left + category_list.width() - 13); category_name_obj.find("div.cate_menu").before(CATE_TITLE_SAVING_IMG_ELEMENT()); var send_data = { "name": category_name
}; $.ajax({ url: AJAX_PATH_CATEGORY() + "saveAjaxCategoryName/" + category_id_num, data: send_data, type: "GET", dataType: "text", cache: false, success: function(data, status) { category_list.find("img.saving").remove(); category_name_obj.find("img.saving").remove(); switch (data) { case AJAX_ERROR:
case AJAX_ERROR_SESSION:
case AJAX_ERROR_NOT_UNIQUE:
switch (data) { case AJAX_ERROR:
jAlert(ALERT_CATE_NAME_ERROR, ALERT_DIALOG_TITLE); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; case AJAX_ERROR_NOT_UNIQUE:
jAlert(ALERT_CATE_NAME_NOT_UNIQUE, ALERT_DIALOG_TITLE); break; default:
break;}
g_changeCategoryName(category_list, syntax_column, pre_name); break; default:
break;}
}, error: function(XMLHttpRequest, status, errorThrown) { category_list.find("img.saving").remove(); category_name_obj.find("img.saving").remove(); jAlert(ALERT_CATE_NAME_ERROR, ALERT_DIALOG_TITLE); g_changeCategoryName(category_list, syntax_column, pre_name);}
});}
function g_changeCategoryName(category_list, syntax_column, name) { category_list.html(g_escapeWithSpace(name)); syntax_column.find("div.category_name h2").html(g_escapeWithSpace(name));}
function g_saveAjaxCategoryOrder(category_id, pre_order, next_order) { if (! g_isReferenceEditEnabled()) { return;}
if (! g_isSavePositionEnabled()) { return;}
category_id = g_cutCategoryIdStr(category_id); $.ajax({ url: AJAX_PATH_CATEGORY() + "saveAjaxCategoryOrder/" + category_id + "/" + pre_order + "/" + next_order, data: null, type: "GET", dataType: "text", cache: false, success: function(data, status) { }, error: function(XMLHttpRequest, status, errorThrown) { }
});}
function g_addAjaxSyntax(category_id) { if (! g_isReferenceEditEnabled()) { return;}
var syntax_column = $(SELECTOR_SYN_COL).filter("div." + category_id); var category_id_num = g_cutCategoryIdStr(category_id); syntax_column.find("div.category_name").after(SYN_ADDING_ELEMENT()); var send_data = { "name": ""
}; $.ajax({ url: AJAX_PATH_SYNTAX() + "addAjaxSyntax/" + category_id_num, data: send_data, type: "GET", dataType: "json", cache: false, success: function(data, status) { syntax_column.find("div.syntax_box_adding").remove(); switch (data) { case AJAX_ERROR:
jAlert(ALERT_ADD_SYN_ERROR, ALERT_DIALOG_TITLE); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; case AJAX_ERROR_MAX_SYNTAX:
jAlert(ALERT_SYN_MAX_ERROR, ALERT_DIALOG_TITLE); break; default:
var new_id = "syn_id" + data["id"]; var syntax_new = SYN_BOX_ELEMENT(); syntax_new.addClass(category_id); syntax_new.find("input.syn_id").val(new_id); syntax_column.find("div.category_name").after(syntax_new); g_setSyntaxBoxEvent(syntax_column); g_startNameEdit( "div.syntax_name", "h3", syntax_new.find("div.syntax_name").children("h3"), SYN_NAME_MAX_LEN ); syntax_new.find("input.text").focus(); break;}
}, error: function(XMLHttpRequest, status, errorThrown) { syntax_column.find("div.syntax_box_adding").remove(); jAlert(ALERT_ADD_SYN_ERROR, ALERT_DIALOG_TITLE);}
});}
function g_delAjaxSyntax(syntax_box, syntax_id, sytax_name) { if (! g_isReferenceEditEnabled()) { return;}
if (syntax_box.length === 0) { return;}
var syntax_name_obj = syntax_box.find("div.syntax_name"); var syntax_id_num = g_cutSyntaxIdStr(syntax_id); var category_id = syntax_box.parents("div.syntax_column").children("input.cate_id").val(); var category_id_num = g_cutCategoryIdStr(category_id); syntax_name_obj.find("h3").after(SYN_SAVING_IMG_ELEMENT()); var send_data = { "category_id": category_id_num, "syntax_id": syntax_id_num
}; $.ajax({ url: AJAX_PATH_SYNTAX() + "delAjaxSyntax/", data: send_data, type: "POST", dataType: "text", cache: false, success: function(data, status) { syntax_name_obj.find("img.saving").remove(); switch (data) { case AJAX_ERROR:
jAlert(ALERT_DEL_SYN_ERROR(sytax_name), ALERT_DIALOG_TITLE); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; case AJAX_SUCCESS:
syntax_box.remove(); break; default:
break;}
}, error: function(XMLHttpRequest, status, errorThrown) { syntax_name_obj.find("img.saving").remove(); jAlert(ALERT_DEL_SYN_ERROR(sytax_name), ALERT_DIALOG_TITLE);}
});}
function g_saveAjaxSyntaxName(syntax_box, syntax_id, syntax_name, pre_name) { if (! g_isReferenceEditEnabled()) { return;}
if (syntax_box.length === 0) { return;}
var syntax_name_obj = syntax_box.find("div.syntax_name"); var syntax_id_num = g_cutSyntaxIdStr(syntax_id); syntax_name_obj.find("a.syn_menu").before(SYN_SAVING_IMG_ELEMENT()); var send_data = { "name": syntax_name
}; $.ajax({ url: AJAX_PATH_SYNTAX() + "saveAjaxSyntaxName/" + syntax_id_num, data: send_data, type: "GET", dataType: "text", cache: false, success: function(data, status) { syntax_name_obj.find("img.saving").remove(); switch (data) { case AJAX_ERROR:
case AJAX_ERROR_SESSION:
switch (data) { case AJAX_ERROR:
jAlert(ALERT_SYN_NAME_ERROR, ALERT_DIALOG_TITLE); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; default:
break;}
syntax_name_obj.find("h3").html(g_escapeWithSpace(pre_name)); break; default:
break;}
}, error: function(XMLHttpRequest, status, errorThrown) { syntax_name_obj.find("img.saving").remove(); jAlert(ALERT_SYN_NAME_ERROR, ALERT_DIALOG_TITLE); syntax_name_obj.find("h3").html(g_escapeWithSpace(pre_name));}
});}
function g_saveAjaxSyntaxDispStatus(category_id, syntax_id, disp_status) { if (! g_isReferenceEditEnabled()) { return;}
if (! g_isSavePositionEnabled()) { return;}
category_id = g_cutCategoryIdStr(category_id); syntax_id = g_cutSyntaxIdStr(syntax_id); $.ajax({ url: AJAX_PATH_SYNTAX() + "saveAjaxSyntaxDispStatus/" + category_id + "/" + syntax_id + "/" + disp_status, data: null, type: "GET", dataType: "text", cache: false, success: function(data, status) { }, error: function(XMLHttpRequest, status, errorThrown) { }
});}
function g_saveAjaxSyntaxOrder(category_id, syntax_id, pre_order, next_order) { if (! g_isReferenceEditEnabled()) { return;}
if (! g_isSavePositionEnabled()) { return;}
category_id = g_cutCategoryIdStr(category_id); syntax_id = g_cutSyntaxIdStr(syntax_id); $.ajax({ url: AJAX_PATH_SYNTAX() + "saveAjaxSyntaxOrder/" + category_id + "/" + syntax_id + "/" + pre_order + "/" + next_order, data: null, type: "GET", dataType: "text", cache: false, success: function(data, status) { }, error: function(XMLHttpRequest, status, errorThrown) { }
});}
function g_saveAjaxSyntaxBody(syntax_box, syntax_id) { if (! g_isReferenceEditEnabled()) { return;}
if (syntax_box.length === 0) { return;}
var syntax_textarea = syntax_box.find("div.syntax_body textarea"); var syntax_pre = g_getPreFromSyntaxText(syntax_textarea); var syntax_body_text = syntax_textarea.val(); if (window.syntax_textarea_val[syntax_id] === syntax_body_text && ! syntax_pre.hasClass("error")) { return;}
window.syntax_textarea_val[syntax_id] = null; if (syntax_body_text.length > SYN_BODY_MAX_LEN) { syntax_pre.addClass("error"); jAlert(ALERT_SYN_BODY_MAX_LEN, ALERT_DIALOG_TITLE); return;}
var syntax_id_num = g_cutSyntaxIdStr(syntax_id); syntax_pre.removeClass("error"); syntax_pre.addClass("saving"); if (syntax_body_text.match(/(^\n)/)) { syntax_body_text = "\n" + syntax_body_text;}
var send_data = { "body": syntax_body_text
}; $.ajax({ url: AJAX_PATH_SYNTAX() + "saveAjaxSyntaxBody/" + syntax_id_num, data: send_data, type: "POST", dataType: "text", cache: false, success: function(data, status) { syntax_pre.removeClass("saving"); switch (data) { case AJAX_ERROR:
case AJAX_ERROR_SESSION:
switch (data) { case AJAX_ERROR:
jAlert(ALERT_SYN_SAVE_ERROR, ALERT_DIALOG_TITLE); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; default:
break;}
syntax_pre.addClass("error"); break; default:
break;}
}, error: function(XMLHttpRequest, status, errorThrown) { syntax_pre.removeClass("saving"); syntax_pre.addClass("error"); jAlert(ALERT_SYN_SAVE_ERROR, ALERT_DIALOG_TITLE);}
});}
function g_changeAjaxSyntaxCategory(syntax_box, dst_syntax_column, pre_syntax_order) { if (! g_isReferenceEditEnabled()) { return;}
if (syntax_box.length === 0) { return;}
var src_syntax_column = syntax_box.parent(); var syntax_name_obj = syntax_box.find("div.syntax_name"); var syntax_id = syntax_box.children("input.syn_id").val(); var syntax_id_num = g_cutSyntaxIdStr(syntax_id); var src_category_id = src_syntax_column.children("input.cate_id").val(); var src_category_id_num = g_cutCategoryIdStr(src_category_id); var dst_category_id = dst_syntax_column.children("input.cate_id").val(); var dst_category_id_num = g_cutCategoryIdStr(dst_category_id); var disp_flag = 1; if (syntax_box.children("div.syntax_body").hasClass("syntax_body_hide")) { disp_flag = 0;}
syntax_name_obj.find("h3").after(SYN_SAVING_IMG_ELEMENT()); syntax_box.addClass("syntax_box_dropping"); dst_syntax_column.addClass("syntax_box_dropped"); src_syntax_column.children("div.syntax_box").draggable("disable"); dst_syntax_column.children("div.syntax_box").draggable("disable"); $.ajax({ url: AJAX_PATH_SYNTAX() + "changeAjaxSyntaxCategory/" + src_category_id_num + "/" + syntax_id_num + "/" + dst_category_id_num + "/" + disp_flag, data: null, type: "GET", dataType: "text", cache: false, success: function(data, status) { syntax_name_obj.find("img.saving").remove(); syntax_box.removeClass("syntax_box_dropping"); dst_syntax_column.removeClass("syntax_box_dropped"); src_syntax_column.children("div.syntax_box").draggable("enable"); dst_syntax_column.children("div.syntax_box").draggable("enable"); switch (data) { case AJAX_ERROR:
case AJAX_ERROR_SESSION:
switch (data) { case AJAX_ERROR:
jAlert(ALERT_MOVE_SYN_TO_CATE, ALERT_DIALOG_TITLE); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; default:
break;}
g_saveAjaxSyntaxOrder( syntax_box.siblings("input.cate_id").val(), syntax_box.find("input.syn_id").val(), pre_syntax_order, syntax_box.prevAll("div.syntax_box").length ); break; default:
syntax_box.insertAfter(dst_syntax_column.children("div.category_name")); break;}
}, error: function(XMLHttpRequest, status, errorThrown) { syntax_name_obj.find("img.saving").remove(); syntax_box.removeClass("syntax_box_dropping"); dst_syntax_column.removeClass("syntax_box_dropped"); src_syntax_column.children("div.syntax_box").draggable("enable"); dst_syntax_column.children("div.syntax_box").draggable("enable"); g_saveAjaxSyntaxOrder( syntax_box.siblings("input.cate_id").val(), syntax_box.find("input.syn_id").val(), pre_syntax_order, syntax_box.prevAll("div.syntax_box").length ); jAlert(ALERT_MOVE_SYN_TO_CATE, ALERT_DIALOG_TITLE);}
});}
function g_getAjaxFavoriteLink(ajax_url) { ajax_url = ajax_url || AJAX_PATH_FRIEND() + "getAjaxFavoriteLink/"; var favorite_link_left = parseInt($(window).width() / 2 - 420 / 2); if ($("div#favorite_link").length) { $("div#favorite_link").children("h2")
.append(FAVORITE_LINK_LOADING_IMG_H2());} else { $("div#container").append($('<div id="favorite_link_loading"></div>')); $("div#favorite_link_loading")
.append(FAVORITE_LINK_LOADING_IMG())
.css("left", favorite_link_left);}
$.ajax({ url: ajax_url, data: null, type: "GET", dataType: "html", cache: false, success: function(data, status) { $("div#favorite_link").remove(); $("div#favorite_link_loading").remove(); switch (data) { case AJAX_ERROR:
jAlert(ALERT_GET_FAVORITE_ERROR, ALERT_DIALOG_TITLE); break; case AJAX_ERROR_SESSION:
g_dispAjaxSessionError(); break; default:
$("div#container").append(data); $("div#favorite_link")
.css("left", favorite_link_left)
.mouseover(function() { $(this).addClass("hover");})
.mouseout(function() { $(this).removeClass("hover");})
.find("div.paging").find("a")
.click(function() { g_getAjaxFavoriteLink($(this).attr("href"));}); g_createLinkBox("div#favorite_link li"); break;}
}, error: function(XMLHttpRequest, status, errorThrown) { $("div#favorite_link").remove(); $("div#favorite_link_loading").remove(); jAlert(ALERT_GET_FAVORITE_ERROR, ALERT_DIALOG_TITLE);}
});}
