/* @licstart The following is the entire license notice for the JavaScript code in this page. Copyright (C) 2013 neko259 The JavaScript code in this page is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License (GNU GPL) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The code is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. As additional permission under GNU GPL version 3 section 7, you may distribute non-source (e.g., minimized or compacted) forms of that code without the copy of the GNU GPL normally required by section 4, provided you include this license notice and a URL through which recipients can access the Corresponding Source. @licend The above is the entire license notice for the JavaScript code in this page. */ var CLOSE_BUTTON = '#form-close-button'; var REPLY_TO_MSG = '.reply-to-message'; var REPLY_TO_MSG_ID = '#reply-to-message-id'; var $html = $("html, body"); function moveCaretToEnd(el) { if (typeof el.selectionStart == "number") { el.selectionStart = el.selectionEnd = el.value.length; } else if (typeof el.createTextRange != "undefined") { el.focus(); var range = el.createTextRange(); range.collapse(false); range.select(); } } function getForm() { return $('.post-form-w'); } function resetFormPosition() { var form = getForm(); form.insertAfter($('.thread')); $(CLOSE_BUTTON).hide(); $(REPLY_TO_MSG).hide(); } function showFormAfter(blockToInsertAfter) { var form = getForm(); form.insertAfter(blockToInsertAfter); $(CLOSE_BUTTON).show(); form.show(); $(REPLY_TO_MSG_ID).text(blockToInsertAfter.attr('id')); $(REPLY_TO_MSG).show(); } function addQuickReply(postId) { // If we click "reply" on the same post, it means "cancel" if (getForm().prev().attr('id') == postId) { resetFormPosition(); } else { var postLinkRaw = '[post]' + postId + '[/post]' var textToAdd = ''; var blockToInsert = null; var textAreaJq = $('textarea'); if (postId != null) { var post = $('#' + postId); // If this is not OP, add reflink to the post. If there already is // the same reflink, don't add it again. if (!post.is(':first-child') && textAreaJq.val().indexOf(postLinkRaw) < 0) { textToAdd += postLinkRaw + '\n'; } blockToInsert = post; } else { blockToInsert = $('.thread'); } var selection = window.getSelection().toString(); if (selection.length > 0) { textToAdd += '[quote]' + selection + '[/quote]\n'; } textAreaJq.val(textAreaJq.val()+ textToAdd); showFormAfter(blockToInsert); textAreaJq.focus(); var textarea = document.getElementsByTagName('textarea')[0]; moveCaretToEnd(textarea); } } function scrollToBottom() { $html.animate({scrollTop: $html.height()}, "fast"); }