diff --git a/js/quick-reply.js b/js/quick-reply.js
index 926e5880..5c2a7b66 100644
--- a/js/quick-reply.js
+++ b/js/quick-reply.js
@@ -15,10 +15,10 @@
(function() {
var settings = new script_settings('quick-reply');
-
+
var do_css = function() {
$('#quick-reply-css').remove();
-
+
// Find background of reply posts
var dummy_reply = $('
').appendTo($('body'));
var reply_background = dummy_reply.css('backgroundColor');
@@ -26,7 +26,7 @@
var reply_border_color = dummy_reply.css('borderColor');
var reply_border_width = dummy_reply.css('borderWidth');
dummy_reply.remove();
-
+
$('').appendTo($('head'));
};
-
+
var show_quick_reply = function(){
if($('div.banner').length == 0)
return;
if($('#quick-reply').length != 0)
return;
-
+
do_css();
-
+
var $postForm = $('form[name="post"]').clone();
-
+
$postForm.clone();
-
+
$dummyStuff = $('').appendTo($postForm);
-
+
$postForm.find('table tr').each(function() {
var $th = $(this).children('th:first');
- var $td = $(this).children('td:first');
+ var $td = $(this).children('td:first');
if ($th.length && $td.length) {
$td.attr('colspan', 2);
-
+
if ($td.find('input[type="text"]').length) {
// Replace with input placeholders
$td.find('input[type="text"]')
.removeAttr('size')
.attr('placeholder', $th.clone().children().remove().end().text());
}
-
+
// Move anti-spam nonsense and remove |
$th.contents().filter(function() {
return this.nodeType == 3; // Node.TEXT_NODE
}).remove();
$th.contents().appendTo($dummyStuff);
$th.remove();
-
+
if ($td.find('input[name="password"]').length) {
// Hide password field
$(this).hide();
}
-
+
// Fix submit button
if ($td.find('input[type="submit"]').length) {
$td.removeAttr('colspan');
$(' | | ').append($td.find('input[type="submit"]')).insertAfter($td);
}
-
+
// reCAPTCHA
if ($td.find('#recaptcha_widget_div').length) {
// Just show the image, and have it interact with the real form.
var $captchaimg = $td.find('#recaptcha_image img');
-
+
$captchaimg
.removeAttr('id')
.removeAttr('style')
@@ -178,7 +178,7 @@
.click(function() {
$('#recaptcha_reload').click();
});
-
+
// When we get a new captcha...
$('#recaptcha_response_field').focus(function() {
if ($captchaimg.attr('src') != $('#recaptcha_image img').attr('src')) {
@@ -187,13 +187,13 @@
$postForm.find('input[name="recaptcha_response_field"]').val('').focus();
}
});
-
+
$postForm.submit(function() {
setTimeout(function() {
$('#recaptcha_reload').click();
}, 200);
});
-
+
// Make a new row for the response text
var $newRow = $(' |
');
$newRow.children().first().append(
@@ -203,37 +203,37 @@
.removeAttr('id')
.addClass('recaptcha_response_field')
.attr('placeholder', $('#recaptcha_response_field').attr('placeholder'));
-
+
$('#recaptcha_response_field').addClass('recaptcha_response_field')
-
+
$td.replaceWith($(' | ').append($('').append($captchaimg)));
-
+
$newRow.insertAfter(this);
}
-
+
// Upload section
if ($td.find('input[type="file"]').length) {
if ($td.find('input[name="file_url"]').length) {
$file_url = $td.find('input[name="file_url"]');
-
+
if (settings.get('show_remote', false)) {
// Make a new row for it
var $newRow = $(' |
');
-
+
$file_url.clone().attr('placeholder', _('Upload URL')).appendTo($newRow.find('td'));
-
+
$newRow.insertBefore(this);
}
$file_url.parent().remove();
-
+
$td.find('label').remove();
$td.contents().filter(function() {
return this.nodeType == 3; // Node.TEXT_NODE
}).remove();
$td.find('input[name="file_url"]').removeAttr('id');
}
-
+
if ($(this).find('input[name="spoiler"]').length) {
$td.removeAttr('colspan');
}
@@ -253,7 +253,7 @@
if ($td.is('#upload_selection')) {
$(this).remove();
}
-
+
// Remove mod controls, because it looks shit.
if ($td.find('input[type="checkbox"]').length) {
var tr = this;
@@ -271,15 +271,15 @@
}
});
}
-
+
$td.find('small').hide();
}
});
-
+
$postForm.find('textarea[name="body"]').removeAttr('id').removeAttr('cols').attr('placeholder', _('Comment'));
-
+
$postForm.find('textarea:not([name="body"]),input[type="hidden"]').removeAttr('id').appendTo($dummyStuff);
-
+
$postForm.find('br').remove();
$postForm.find('table').prepend('\
\
@@ -287,12 +287,12 @@
' + _('Quick Reply') + '\
\
|
');
-
+
$postForm.attr('id', 'quick-reply');
-
+
$postForm.appendTo($('body')).hide();
$origPostForm = $('form[name="post"]:first');
-
+
// Synchronise body text with original post form
$origPostForm.find('textarea[name="body"]').on('change input propertychange', function() {
$postForm.find('textarea[name="body"]').val($(this).val());
@@ -316,7 +316,7 @@
$origPostForm.find('[name="' + $(this).attr('name') + '"]').val($(this).val());
});
- if (typeof $postForm.draggable != 'undefined') {
+ if (typeof $postForm.draggable != 'undefined') {
if (localStorage.quickReplyPosition) {
var offset = JSON.parse(localStorage.quickReplyPosition);
if (offset.top < 0)
@@ -338,26 +338,26 @@
right: $(window).width() - $(this).offset().left - $(this).width(),
};
localStorage.quickReplyPosition = JSON.stringify(offset);
-
+
$postForm.css('right', offset.right).css('top', offset.top).css('left', 'auto');
}
});
$postForm.find('th .handle').css('cursor', 'move');
}
-
+
$postForm.find('th .close-btn').click(function() {
$origPostForm.find('textarea[name="body"]').attr('id', 'body');
$postForm.remove();
floating_link();
});
-
+
// Fix bug when table gets too big for form. Shouldn't exist, but crappy CSS etc.
$postForm.show();
$postForm.width($postForm.find('table').width());
$postForm.hide();
-
+
$(window).trigger('quick-reply');
-
+
$(window).ready(function() {
if (settings.get('hide_at_top', true)) {
$(window).scroll(function() {
@@ -371,7 +371,7 @@
} else {
$postForm.show();
}
-
+
$(window).on('stylesheet', function() {
do_css();
if ($('link#stylesheet').attr('href')) {
@@ -380,7 +380,7 @@
});
});
};
-
+
$(window).on('cite', function(e, id, with_link) {
if ($(this).width() <= 400)
return;
@@ -391,7 +391,7 @@
highlightReply(id);
$(document).scrollTop($('#' + id).offset().top);
}
-
+
// Honestly, I'm not sure why we need setTimeout() here, but it seems to work.
// Same for the "tmp" variable stuff you see inside here:
setTimeout(function() {
@@ -401,7 +401,7 @@
});
}
});
-
+
var floating_link = function() {
if (!settings.get('floating_link', false))
return;
@@ -410,12 +410,12 @@
show_quick_reply();
$(this).remove();
}).appendTo($('body'));
-
+
$(window).on('quick-reply', function() {
$('.quick-reply-btn').remove();
});
};
-
+
if (settings.get('floating_link', false)) {
$(window).ready(function() {
if($('div.banner').length == 0)
@@ -430,12 +430,12 @@
text-decoration: none;\
}\
').appendTo($('head'));
-
+
floating_link();
-
+
if (settings.get('hide_at_top', true)) {
$('.quick-reply-btn').hide();
-
+
$(window).scroll(function() {
if ($(this).width() <= 400)
return;